Jolt Transformation a mis la valeur dans le mauvais élément de tableau
J'ai un problème avec ma transformation Jolt mais je ne sais pas comment le résoudre. La valeur est ajoutée au mauvais élément du tableau et non à celui auquel elle appartient.
C'est mon JSON:
{
"Verkaufsprodukt": [
{
"Produkt": [
{
"Kurzbeschreibung": "A"
},
{
"Kurzbeschreibung": "B",
"Kondition": [
{
"Bezeichnung": "something"
}
]
}
]
}
]
}
C'est la spécification:
[
{
"operation": "shift",
"spec": {
"Verkaufsprodukt": {
"*": {
"Produkt": {
"*": {
"Kurzbeschreibung": "vertragsdetails.deckungen[].bezeichnung",
"Kondition": {
"*": {
"Bezeichnung": "vertragsdetails.deckungen[&1].kondition"
}
}
}
}
}
}
}
},
{
"operation": "cardinality",
"spec": {
"vertragsdetails": {
"deckungen": "MANY"
}
}
}
]
J'attends ceci:
{
"vertragsdetails": {
"deckungen": [
{
"bezeichnung": "A"
},
{
"bezeichnung": "B",
"kondition": "something"
}
]
}
}
mais j'ai ça:
{
"vertragsdetails": {
"deckungen": [
{
"bezeichnung": "A",
"kondition": "something"
},
{
"bezeichnung": "B"
}
]
}
}
Pourquoi la « kondition » s'ajoute-t-elle au premier élément et non au second auquel il appartient? quelqu'un peut-il aider s'il vous plaît? Merci!
Solution du problème
le problème est dans le caractère générique que vous utilisez dans la spécification de secousse, vous devriez monter de 3 niveaux au lieu de 1, comme :
"Bezeichnung": "vertragsdetails.deckungen[&3].kondition"
un json comme celui-ci par exemple:
{
"Verkaufsprodukt": [
{
"Produkt": [
{
"Kurzbeschreibung": "A"
},
{
"Kurzbeschreibung": "B",
"Kondition": [
{
"Bezeichnung": "something"
},
{
"Bezeichnung": "andere something"
},
{
"Bezeichnung": "noch andere something"
}
]
},
{
"Kurzbeschreibung": "C",
"Kondition": [
{
"Bezeichnung": "x"
},
{
"Bezeichnung": "andere x"
},
{
"Bezeichnung": "noch andere x"
}
]
}
]
}
]
}
sera transformé en ceci:
{
"vertragsdetails": {
"deckungen": [ {
"bezeichnung": "A"
}, {
"bezeichnung": "B",
"kondition": [ "something", "andere something", "noch andere something" ]
}, {
"bezeichnung": "C",
"kondition": [ "x", "andere x", "noch andere x" ]
} ]
}
}
Commentaires
Enregistrer un commentaire