добавить значения в массивы json

Можно попробовать с помощью joinсобрать все данные в один файл:

join <(join <(sar -q) <(sar -S)) <(join <(sar -u) <(sar -r))
1
16.07.2020, 20:06
1 ответ

Вы можете использовать функцию with_entries()для родительского элемента, чтобы преобразовать подэлементы в пару с ключами keyи valueи добавить строку в массив value, если ее еще нет

jq '.contact_groups |= ( with_entries( if (.value | index("/contact_group/109") | not ) then.value += [ "/contact_group/109" ] else. end ) )'

Встроенная команда with_entries(..)является сокращением для выполнения to_entries | map | from_entries. Часть index("/contact_group/109") | notобеспечивает добавление записи, если строка , а не , уже присутствует в массиве .value.

См. демо на jqplay

2
18.03.2021, 23:19

Теги

Похожие вопросы