Jq
如何將來自多個 json 文件的數組與 JQ 合併?
我有多個具有相同結構的 JSON 文件,列表是數組。
$ jq 'keys' file_1.json [ "itemsPerPage", "links", "list", "startIndex" ]
列表欄位看起來像這樣
文件1.json
"list" : [ {"id: 123, "fname":"SAM" }, {"id: 125, "fname":"JOE" } .....]
文件X.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 文件中所有對象的列表數組的單個文件的最佳方法是什麼?
您可以使用
inputs
函式將所有 JSON 文件的內容一起獲取並僅將.list
欄位附加在一起jq -n '{ list: [ inputs.list ] | add }' file1.json file2.json