Ausgabe
Ich habe eine Liste von JSONs wie folgt:
[
{
"id": 1,
"name": "{a}"
},
{
"id": 2,
"name": "{b,c}"
},
{
"id": 3,
"name": "{d,e}"
}
]
Die Idee ist, diese Liste zu transformieren und als Ausgabe Folgendes zu erhalten:
[
{
"id": 1,
"name": "{a}",
"tmp": "a"
},
{
"id": 2,
"name": "{b,c}",
"tmp": "b,c"
},
{
"id": 3,
"name": "{d,e}",
"tmp": "d,e"
}
]
Kann jemand dabei helfen?
Welche Spezifikation zu verwenden verwirrt mich hier wirklich, ist es Shift oder Default oder Modify ?
Danke im Voraus !!
Lösung
Sie können nacheinander split zusammen mit den Zeichen {
und verwenden }
, dann Funktionen innerhalb einer Modify -Transformationsspezifikation verbinden und dann zusätzlich generierte Attribute entfernen, indem Sie eine Entfernungsspezifikation wie z
[
{
"operation": "modify-overwrite-beta",
"spec": {
"*": {
"tmp0": "=split('\\{', @(1,name))",
"tmp1": "=join('', @(1,tmp0))",
"tmp2": "=split('\\}', @(1,tmp1))",
"tmp": "=join('', @(1,tmp2))"
}
}
},
{
"operation": "remove",
"spec": {
"*": {
"tmp*": ""
}
}
}
]
die Demo auf der Seite http://jolt-demo.appspot.com/ ist
Beantwortet von – Barbaros Özhan
Antwort geprüft von – Katrina (FixError Volunteer)