Ansicht
Dokumentation
ABENABAP_JSON_SXML - ABAP JSON SXML
ROGBILLS - Synchronize billing plans General Material DataDiese Dokumentation steht unter dem Copyright der SAP AG.
- 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.
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.
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 )