ฉันใช้jq tools (jq-json-processor) ในเชลล์สคริปต์เพื่อแยกวิเคราะห์ json
ฉันมีไฟล์ json 2 ไฟล์และต้องการรวมเป็นไฟล์เดียว
นี่คือเนื้อหาของไฟล์:
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
}
}
}
ฉันลองใช้ Combinaison มากมาย แต่ผลลัพธ์เดียวที่ฉันได้รับคือสิ่งต่อไปนี้ซึ่งไม่ใช่ผลลัพธ์ที่คาดหวัง:
{
"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