Предположим, ваш исходный файл - объект. json и содержит пустой объект, {}; и что в начале каждой итерации пары ключ: значение определяются в другом файле, kv.txt.
Затем на каждой итерации вы можете обновлять массив. json, используя вызов:
< kv.txt jq -Rn --argfile object object.json -f program.jq | sponge object.json
, где program.jq содержит программу jq:
$object | .Array +=
reduce inputs as $in ([]; . + [$in | capture("(?<k>^[^:]*): *(?<v>.*)") | {(.k):.v} ])
(sponge
является частью пакета moreutils. Если его нельзя использовать, вам придется использовать другой метод: объект обновления. json.)