Cheatsheet (with explanation on what the params do):
https://stedolan.github.io/jq/manual/
Common Operations
Iterate all elements (and override some) within a JSON object
          echo $temp > json-override.json
          for key in $(jq '. | keys' json-override.json); do
              # remove starting and trailing quotes
              ref_key=`echo $key | tr -d '"'`
              ref_key=`echo $ref_key | tr -d ','`
              if [ $key != '[' ] && [ $key != ']' ]
              then
                  ref_val=`jq \
                  --arg target_key $ref_key \
                  '.[$target_key]' json-override.json`
                  ref_val=`echo $ref_val | tr -d '"'`
                  # echo $ref_key = $ref_val
                  case $ref_val in
                    OLD VALUE)
                      ref_val='NEW VALUE'
                      ;;
                    *)
                      echo -n "Unknown secret"
                      exit 1
                      ;;
                  esac
                  temp=`echo $temp | \
                  jq \
                  --arg target_key $ref_key \
                  --arg target_val "$ref_val" \
                  '.[$target_key] |= $target_val'`
              fi
          done
          echo $temp
    
Top comments (0)