J'utilise les outils jq (jq-json-processor) dans un script shell pour analyser du json.
J'ai 2 fichiers json et je veux les fusionner en un seul fichier unique
Voici le contenu des fichiers:
fichier1
{
"valeur1": 200,
"horodatage": 1382461861,
"valeur": {
"aaa": {
"valeur1": "v1",
"valeur2": "v2"
},
"bbb": {
"valeur1": "v1",
"valeur2": "v2"
},
"ccc": {
"valeur1": "v1",
"valeur2": "v2"
}
}
}
fichier2
{
"statut": 200,
"horodatage": 1382461861,
"valeur": {
"aaa": {
"valeur3": "v3",
"valeur4": 4
},
"bbb": {
"valeur3": "v3"
},
"ddd": {
"valeur3": "v3",
"valeur4": 4
}
}
}
résultat attendu
{
"valeur": {
"aaa": {
"valeur1": "v1",
"valeur2": "v2",
"valeur3": "v3",
"valeur4": 4
},
"bbb": {
"valeur1": "v1",
"valeur2": "v2",
"valeur3": "v3"
},
"ccc": {
"valeur1": "v1",
"valeur2": "v2"
},
"ddd": {
"valeur3": "v3",
"valeur4": 4
}
}
}
J'ai essayé beaucoup de combinaisons mais le seul résultat que j'obtiens est le suivant, qui n'est pas le résultat attendu:
{
"ccc": {
"valeur2": "v2",
"valeur1": "v1"
},
"bbb": {
"valeur2": "v2",
"valeur1": "v1"
},
"aaa": {
"valeur2": "v2",
"valeur1": "v1"
}
}
{
"ddd": {
"valeur4": 4,
"valeur3": "v3"
},
"bbb": {
"valeur3": "v3"
},
"aaa": {
"valeur4": 4,
"valeur3": "v3"
}
}
En utilisant cette commande:
jq -s '.[].valeur' fichier1 fichier2