私が使用しているJQの解析JSONにシェルスクリプトの中で(JQ-JSON-プロセッサ)ツール。
2つのjsonファイルがあり、それらを1つの一意のファイルにマージしたい
ここにファイルの内容:
file1
{
"value1": 200,
"timestamp": 1382461861,
"value": {
"aaa": {
"value1": "v1",
"value2": "v2"
},
"bbb": {
"value1": "v1",
"value2": "v2"
},
"ccc": {
"value1": "v1",
"value2": "v2"
}
}
}
file2
{
"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
json
、使用:cat f1 f2 | json --deep-merge
json
@ xer0x を取得しますか?
json
ツールを入手するにはgithub.com/trentm/jsonに