JQ как объединить массив в одну строку? - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть файл json:

 [ 
 {
 "query": {
 "key1": "value1",
 "key2": "value2"
 }
 }
 ]

Нужно объединить этот массив одной строкой, чтобы вывод был:

key1=value1&key2=value2

Я могу присоединить к нему значения:

jq '.[].query | join("&")'
"value1&value2"

Или

Получить строку значения ключа:

jq '.[].query | to_entries[] | "\(.key)=\(.value)"'
"key1=value1"
"key2=value2"

Но как это объединить? Привет

1 Ответ

1 голос
/ 30 сентября 2019

Вы можете использовать этот jq-скрипт:

<file jq -r '.[].query|to_entries|map([.key,.value]|join("="))|join("&")'

. Он объединяет дважды массив, содержащий ключи и значения с = и & символами.

...