Json jq:从其他文件向列表中添加新元素
我有两个json文件。 文件1: 文件2:Json jq:从其他文件向列表中添加新元素,json,file,merge,jq,Json,File,Merge,Jq,我有两个json文件。 文件1: 文件2: [ { "name": "first name", "path": [{ "matcher": "exact", }] }, { ... } ] 我想将文件2中的所有项目添加到文件1中的.data.items列表中。 我怎样才能做到这一点 提前谢谢 假设两个文件都包含有效的JSO
[
{
"name": "first name",
"path": [{
"matcher": "exact",
}]
},
{
...
}
]
我想将文件2中的所有项目添加到文件1中的.data.items列表中。
我怎样才能做到这一点
提前谢谢 假设两个文件都包含有效的JSON,您可能会做比以下更糟糕的事情:
jq --argfile extra 2.json '.data.items += $extra' 1.json
如果您愿意规范化详细信息文件:
items=$(jq -c ' . | { data: { items: . }} ' 2.json)
jq -s '{ data: { items: map(.data.items[])}}' 1.json <(echo $items)
items=$(jq-c.|{data:{items:.}}'2.json)
jq-s'{data:{items:map(.data.items[])}}'1.json
items=$(jq -c ' . | { data: { items: . }} ' 2.json)
jq -s '{ data: { items: map(.data.items[])}}' 1.json <(echo $items)