[FIXED] Transformieren eines Arrays von JSONs mit JOLT

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

Geben Sie hier die Bildbeschreibung ein


Beantwortet von –
Barbaros Özhan


Antwort geprüft von –
Katrina (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like