【发布时间】:2013-11-01 00:30:17
【问题描述】:
我在 shell 脚本中使用jq 工具(jq-json-processor)来解析 json。
我有 2 个 json 文件,想将它们合并到一个唯一的文件中
这里是文件内容:
文件1
{
"value1": 200,
"timestamp": 1382461861,
"value": {
"aaa": {
"value1": "v1",
"value2": "v2"
},
"bbb": {
"value1": "v1",
"value2": "v2"
},
"ccc": {
"value1": "v1",
"value2": "v2"
}
}
}
文件2
{
"status": 200,
"timestamp": 1382461861,
"value": {
"aaa": {
"value3": "v3",
"value4": 4
},
"bbb": {
"value3": "v3"
},
"ddd": {
"value3": "v3",
"value4": 4
}
}
}
预期结果
{
"value": {
"aaa": {
"value1": "v1",
"value2": "v2",
"value3": "v3",
"value4": 4
},
"bbb": {
"value1": "v1",
"value2": "v2",
"value3": "v3"
},
"ccc": {
"value1": "v1",
"value2": "v2"
},
"ddd": {
"value3": "v3",
"value4": 4
}
}
}
我尝试了很多组合,但我得到的唯一结果是以下,这不是预期的结果:
{
"ccc": {
"value2": "v2",
"value1": "v1"
},
"bbb": {
"value2": "v2",
"value1": "v1"
},
"aaa": {
"value2": "v2",
"value1": "v1"
}
}
{
"ddd": {
"value4": 4,
"value3": "v3"
},
"bbb": {
"value3": "v3"
},
"aaa": {
"value4": 4,
"value3": "v3"
}
}
使用这个命令:
jq -s '.[].value' file1 file2
【问题讨论】:
-
你试过jsontool吗? github.com/trentm/json
-
使用
json执行此操作:cat f1 f2 | json --deep-merge -
你在哪里/如何得到
json@xer0x? -
@Gus 哦,要获得
json工具,请转到github.com/trentm/json
标签: json shell command-line jq