我有兩個相同的json文件 - test.json
和test2.json
,格式如下。我的目標是將它們結合起來並保持完全相同的格式 - 基本上將一個堆疊在另一個上面而不創建兩個列表。結合沒有額外括號的JSON文件
我是新來bash和JQ但是這個代碼引發一個錯誤:
jq -s '.[0] * .[1]' test.json test2.json
jq: error (at test2.json:17): array ([{"vendor":...) and array ([{"vendor":...) cannot be multiplied
爲什麼會出現這種情況,一個人如何保存格式,而無需編寫額外的括號[]
。如何在整個文件中組合並保留一對括號?見下文:
test.json
:
[
{
"vendor": 0,
"startTime": 4380,
"endTime": 4445
},
{
"vendor": 0,
"startTime": 4448,
"endTime": 4453
},
{
"vendor": 0,
"startTime": 4696,
"endTime": 4880
}
]
不期望的輸出:
[
[
{"vendor":0,"startTime":4380,"endTime":4445},
{"vendor":0,"startTime":4448,"endTime":4453},
{"vendor":0,"startTime":4696,"endTime":4880}],
[{"vendor":0,"startTime":4380,"endTime":4445},
{"vendor":0,"startTime":4448,"endTime":4453},
{"vendor":0,"startTime":4696,"endTime":4880}
]
]
期望的輸出:
[
{"vendor":0,"startTime":4380,"endTime":4445},
{"vendor":0,"startTime":4448,"endTime":4453},
{"vendor":0,"startTime":4696,"endTime":4880},
{"vendor":0,"startTime":4380,"endTime":4445},
{"vendor":0,"startTime":4448,"endTime":4453},
{"vendor":0,"startTime":4696,"endTime":4880}
]
你使用什麼命令來完成任務? bash可能是這樣的,像Python這樣的其他語言可以很容易地做到這一點,如果你喜歡,我可以很快就給你一個腳本,儘管 – armnotstrong
抱歉忘了包含它 - 更新,謝謝 –