JSON Lines
JSON Lines (http://jsonlines.org/) ist ein Textformat, das eine Erweiterung zum JSON-Format darstellt. Es eignet sich zum Speichern und Verarbeiten von JSON-Daten, bei denen "Neue Zeile"-Trennzeichen von Bedeutung sind, wie z.B. Log-Dateien. In jeder Zeile einer JSON Lines-Datei ist ein JSON-Wert gespeichert, z.B:
{"name":"Alethia Alonso","email":"alethia@example.org"} {"name":"Klaus Mauer","email":"klaus@example.org"} {"name":"Natsuo Shinohara","email":"natsuo@example.org"} |
Mit der MapForce Enterprise Edition können Sie Daten im JSON Lines-Format auslesen und in jedes beliebige andere von MapForce unterstützte Format konvertieren. Ebenso können Sie Daten aus jedem beliebigen von MapForce unterstützten Format in das JSON Lines-Format konvertieren.
Anmerkung: | In mit MapForce erstellten Webservice-Aufrufen können Sie als Request- oder Response-Struktur Standard-JSON verwenden; JSON Lines- oder JSON5-Strukturen werden nicht unterstützt. |
Um Daten im JSON Lines-Format auszulesen oder diese in dieses Format zu schreiben, wird in MapForce wie bei normalen JSON-Dateien ein JSON-Schema benötigt. Der Unterschied besteht darin, dass bei JSON Lines jede Zeile zu Validierungszwecken als separate JSON-Datei behandelt wird. Das Schema, das Sie in MapForce bereitstellen, validiert daher jede einzelne Zeile als JSON-Dokument.
Die Entwickler des JSON Lines-Formats schlagen als Dateierweiterung dafür .jsonl vor.
So mappen Sie Daten von oder auf das JSON Lines-Format
1.Klicken Sie im Menü Einfügen auf JSON und navigieren Sie zur .jsonl-Instanzdatei. Klicken Sie alternativ dazu auf die Symbolleisten-Schaltfläche . Wenn Sie bereits eine JSON-Schema-Datei haben und die Instanzdatei erst später angeben möchten, navigieren Sie zu einem gültigen JSON-Schema. Dies funktioniert auf dieselbe Art und Weise wie bei einfachen JSON-Dateien (siehe Hinzufügen von JSON-Dateien als Mapping-Komponenten). Denken Sie daran, dass im JSON-Schema für das JSON Lines-Format der Inhalt jeder einzelnen Zeile in der Instanzdatei und nicht die Datei als ganze beschrieben sein muss.
2.Nachdem Sie die JSON-Komponente zum Mapping hinzugefügt haben, klicken Sie mit der rechten Maustaste auf ihre Titelleiste, wählen Sie Eigenschaften und aktivieren Sie anschließend das Kontrollkästchen JSON Lines.
Um die JSON-Instanzdatei, aus der die Daten ausgelesen werden, zu definieren oder zu wechseln, geben Sie den Pfad in das Textfeld JSON-Input-Datei ein. Dieses Textfeld muss nicht ausgefüllt werden, wenn Daten im Mapping in eine JSON-Datei geschrieben werden.
Um festzulegen, welcher Dateiname generiert wird, geben Sie in das Textfeld JSON-Output-Datei des obigen Dialogfelds den gewünschten Dateinamen (z.B. "Dateiname.jsonl") ein. Dieses Textfeld muss nicht ausgefüllt werden, wenn Daten im Mapping aus einer JSON-Datei ausgelesen werden. Nähere Informationen zu weiteren Einstellungen finden Sie unter JSON-Komponenteneinstellungen.
Wenn das Kontrollkästchen JSON Lines aktiviert ist, hat die JSON-Komponente im Mapping einen neuen item-Node. Durch Verbinden einer beliebigen Reihe von Werten damit (z.B. die Rows-Datenelemente einer CSV-Quellkomponente) können Sie in der JSON Lines-Datei mehrere Zeilen erstellen (für jedes Datenelement in der Sequenz eine). Die Quelldatei im unten gezeigten Mapping ist eine JSON-Standarddatei und die Zielkomponente ist eine JSON Lines-Datei. Aufgrund der obersten Verbindung wird bei der Ausführung des Mappings für jedes Objekt in der Quelldatei People.json in der Zieldatei People.jsonl eine neue JSON-Zeile erstellt.
Wenn in Ihrem Mapping Daten aus einer JSON Lines-Datei ausgelesen werden sollen, können Sie den item-Node mit dem gewünschten Datenelement in der Zielkomponente verbinden (z.B. einem XML-Datenelement). Dadurch würden in der Zieldatei so viele XML-Elemente erstellt, wie in der Quelldatei JSON-Zeilen vorhanden sind.