Я не понимаю, как to_entries
работает в JQ.
У меня есть следующая полезная нагрузка json в payload.json
{"REGION":"us-east-1","EMAIL":"contain","UPDATE":1}
который я хочу преобразовать в =
пары ключей с разделителями, вот так;
REGION=us-east-1
EMAIL=contain
UPDATE=1
Я использовал
jq -r 'to_entries | .[] | .key + "=" + .value' < payload.json
Но я получаю ошибку
jq: error (at <stdin>:0): string ("UPDATE=") and number (1) cannot be added
Если я правильно понимаю, проблема в том, что значением обновления является число, а не строка (т. Е. Проблема не в том, чтобы они не совпадали с типами), поэтому я попробовал следующее, оба с одной и той же ошибкой;
string interpolation:
jq -r 'to_entries | .[] | (.key) + "=" + (.value)' < payload.json
tostring:
jq -r 'to_entries | .[] | .key + "=" + .value|tostring' < payload.json
Чего мне не хватает?