Ansicht
Dokumentation

ABENABAP_JSON_SXML - ABAP JSON SXML

ABENABAP_JSON_SXML - ABAP JSON SXML

ROGBILLS - Synchronize billing plans   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Parsen und Rendern

Die Verarbeitung von JSON-Daten in ABAP ist in die sXML-Bibliothek integriert. Dort wird JSON als eigenes Format unterstützt, wobei JSON-XML als Zwischenschritt verwendet wird.

Parsen von JSON-Daten

Jedem XML-Reader der sXML-Bibliothek (ausgenommen XOP-Reader), der auf den entsprechenden Klassen und Interfaces beruht, können bei der Erzeugung mit der Methode CREATE neben XML-Daten auch JSON-Daten übergeben werden. Der Reader erkennt das JSON-Format und wird dadurch zu einem JSON-Reader. Ein JSON-Reader behandelt JSON-Daten so, als seien ihm XML-Daten übergeben worden, welche die JSON-XML-Darstellung der JSON-Daten enthalten.

Ungültige JSON-Daten erzeugen beim Parsen eine Ausnahme der Klasse CX_SXML_PARSE_ERROR, die bei jedem Schritt des Parsers abgefangen werden sollte.

Hinweise

  • Ein JSON-Reader kann wie alle XML-Reader als Quelle der Anweisung CALL TRANSFORMATION verwendet werden, was die direkte Deserialisierung von JSON-Daten in ABAP-Datenobjekte erlaubt.
  • Beim Parsen von JSON-Daten werden Fluchtsymbole \ vor Sonderzeichen in zeichenartigen Werten automatisch entfernt.
  • Standardmäßig wird intern die JSON-XML-Darstellung erzeugt, in der die Objektkomponenten der JSON-Daten nicht in ein Element member> geschachtelt werden. Um die längere Variante mit member>-Elementen zu erzeugen kann mit der Methode SET_OPTION des Interface IF_SXML_READER die Option IF_SXML_READER=>CO_OPT_SEP_MEMBER gesetzt werden.

JSON, Parsen

Rendern von JSON-Daten

Jeder XML-Writer der sXML-Bibliothek (ausgenommen XOP-Writer), der auf den entsprechenden Klassen und Interfaces beruht, kann mit der Methode CREATE als JSON-Writer erzeugt werden. Hierfür muss der Eingabeparameter TYPE mit der zugehörigen Konstante des Interface IF_SXML versorgt werden:

cl_sxml_..._writer=>create( type = if_sxml=>co_xt_json ).

Ein solcher JSON-Writer kann wie jeder sXML-Writer mit den Methoden des Token-basierten und des objektorientierten Renderns mit XML-Daten versorgt werden. Diese XML-Daten müssen eine gültige JSON-XML-Darstellung von JSON-Daten sein. Die Objektkomponenten der JSON-Daten können in beiden JSON-XML-Schreibweisen, d.h. ohne und mit member>-Element, in einen Writer geschrieben werden.

Der Writer setzt die eingegebene JSON-XML-Darstellung in das JSON-Format um und stellt das Ergebnis je nach Art des Writers zur Verfügung.

Ungültige JSON-Daten werden nicht erzeugt, sondern führen zu einer Ausnahme der Klasse CX_SXML_STATE_ERROR, die bei jedem Schritt des Writers abgefangen werden sollte.

Hinweise

  • Beim Rendern von JSON-Daten wird Sonderzeichen in zeichenartigen Werten automatisch das Fluchtsymbol \ vorangestellt.
  • Ein JSON-Writer kann wie alle XML-Writer als Ziel der Anweisung CALL TRANSFORMATION verwendet werden, was die direkte Serialisierung von ABAP-Datenobjekte in JSON-Daten erlaubt.

JSON, Rendern






General Material Data   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5203 Date: 20240523 Time: 160512     sap01-206 ( 71 ms )