Używam narzędzi jq (jq-json-processor) w skrypcie powłoki do parsowania json.Jak połączyć 2 pliki json za pomocą jq?
mam 2 pliki json i scalić je w jeden unikalny plik
tu zawartości plików:
plik1
{
"value1": 200,
"timestamp": 1382461861,
"value": {
"aaa": {
"value1": "v1",
"value2": "v2"
},
"bbb": {
"value1": "v1",
"value2": "v2"
},
"ccc": {
"value1": "v1",
"value2": "v2"
}
}
}
plik2
{
"status": 200,
"timestamp": 1382461861,
"value": {
"aaa": {
"value3": "v3",
"value4": 4
},
"bbb": {
"value3": "v3"
},
"ddd": {
"value3": "v3",
"value4": 4
}
}
}
oczekiwany wynik
{
"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
}
}
}
Staram dużo combinaison ale jedynym rezultatem ja dostać jest następujący, który nie jest oczekiwany wynik:
{
"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"
}
}
poleceniem:
jq -s '.[].value' file1 file2
Czy próbowałeś jsontool? https://github.com/trentm/json –
Jeszcze nie, przyjrzę się. Thx – Janfy
Aby to zrobić używając 'json' użyj:' cat f1 f2 | json --deep-merge' – xer0x