Объединить элементы массива json с jq - PullRequest
0 голосов
/ 11 января 2019

Я хочу объединить значения массива, используя jq. В моем входном json есть массив times вложенных массивов, каждый из которых имеет (всегда) два строковых элемента. Я хочу, чтобы эти два строковых элемента были объединены, а вложенный массив удален, чтобы остался только один массив:

Мой вклад:

{
   "times":[
      [
         "7:29", "IN"
      ],
      [
         "10:29", "OUT"
      ]
   ],
   "foo":"bar"
}

Мой желаемый результат:

{
   "times":
   [
         "7:29 IN", "10:29 OUT"
   ],
   "foo":"bar"
}

Вот как я слил элементы массива, но мне не хватает сделать из него массив json:

jq    '.times | to_entries | .[] | (.value[0]+ " " + .value[1])'

1 Ответ

0 голосов
/ 11 января 2019
jq '.times |= map(join(" "))' file

Выходы:

{
  "times": [
    "7:29 IN",
    "10:29 OUT"
  ],
  "foo": "bar"
}
...