JSON Array Workflow Action

Problembeschreibung

Oftmals steht man vor der Herausforderung, ein JSON-Array in seine einzelnen Elemente aufzuteilen und diese in der DataEngine als separate Datensätze zu speichern, um eine 1:n-Beziehung zwischen dem aktuellen Eintrag und den Objekten im Array herzustellen. Ebenso kann es notwendig sein, diese Datensätze wieder zu einem JSON-Array zusammenzuführen und in einem Feld zu speichern, um sie zurückzusynchronisieren.

JSON-Array Aufteilen

Bei jeder Ausführung dieser Aktion wird ein JSON aus einem Feld gelesen, und für jedes Objekt in diesem Array wird ein Datensatz in der DataEngine erstellt und mit dem aktuellen Eintrag verknüpft. Folgende Einstellungen sind dabei relevant:

  • JSON-Feld: Auswahl des Felds, das das JSON-Array enthält.
  • Zielmodul: Auswahl des Moduls, für das neue Einträge angelegt werden sollen.
  • Indexfeld: Erforderlich, wenn das Array regelmäßig aktualisiert wird und die zugehörigen Einträge aktualisiert werden sollen. Wird kein Indexfeld festgelegt, werden bei jeder Ausführung der Aktion neue Datensätze erstellt. Wenn ein Indexfeld ausgewählt wird, muss auch ein entsprechendes Mapping angelegt werden.
  • Mapping: Zuordnung des Keys aus dem Objekt auf der linken Seite zu einem Feld aus den Feldern des Zielmoduls auf der rechten Seite. Durch Eingabe eines Beispiel-JSONs und Nutzung des „Example JSON“-Buttons können automatisch Mappings für jeden Key erstellt werden.
  • Entfernte Datensätze löschen: Option, um zu bestimmen, ob beim Aktualisieren des Arrays die verknüpften Datensätze gelöscht werden sollen, wenn sie aus dem JSON-Array gelöscht wurden.

JSON-Array Zusammenführen

Bei jeder Ausführung dieser Aktion werden alle verknüpften Datensätze des aktuellen Datensatzes in ein JSON-Array von Objekten umgewandelt und dieses in ein Feld geschrieben. Folgende Einstellungen sind dabei relevant:

  • JSON-Feld: Auswahl des Felds, in das das JSON-Array geschrieben werden soll.
  • Quellmodul: Auswahl des Moduls, aus dem die Einträge geholt werden sollen.
  • Indexfeld (optional): Falls das JSON-Array nicht neu geschrieben, sondern vorhandene Einträge aktualisiert werden sollen, muss ein Indexfeld ausgewählt werden. Auch hier ist ein entsprechendes Mapping erforderlich.
  • Mapping: Zuordnung des Keys aus dem Objekt auf der linken Seite zu einem Feld aus den Feldern des Quellmoduls auf der rechten Seite. Auch hier kann durch Eingabe eines Beispiel-JSONs und Nutzung des „Example JSON“-Buttons schnell ein Mapping erstellt werden.
  • Entfernte Datensätze löschen: Möglichkeit, zu bestimmen, ob alte Einträge im JSON-Array beibehalten oder entfernt werden sollen.

Durch die klare Konfiguration dieser Aktionen ist es möglich, JSON-Daten effizient in der DataEngine zu verarbeiten und zu synchronisieren, um eine nahtlose Integration und Verwaltung zu gewährleisten.