同じ構造のJSONファイルが複数あり、リストは配列です。
$ jq 'keys' file_1.json
[
"itemsPerPage",
"links",
"list",
"startIndex"
]
リストフィールドは次のとおりです。
ファイル1.json
"list" : [ {"id: 123, "fname":"SAM" }, {"id: 125, "fname":"JOE" } .....]
FileX.json
"list" : [ {"id: 783, "fname":"Danny" }, {"id: 785, "fname":"Kingmo" } .....]
以下の出力を生成してみてください(他のフィールドのみをリストして無視する、つまりitemsPerPage/links/startIndex)。
"list" : [ {"id: 123, "fname":"SAM" }, {"id: 125, "fname":"JOE" }, {"id: 783, "fname":"Danny" }, {"id: 785, "fname":"Kingmo" }]
jqを使用してこれらのすべてのファイルを読み取り、すべてのJSONファイルのすべてのオブジェクトを含むリスト配列を含むファイルを生成する最良の方法は何ですか?
答え1
inputs
関数を使用してすべてのJSONファイルの内容をまとめてフィールドだけを.list
追加できます。
jq -n '{ list: [ inputs.list ] | add }' file1.json file2.json