ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Daten- und Kommunikationsschnittstellen →  ABAP und JSON →  Transformationen für JSON →  asJSON - Kanonische JSON-Repräsentation →  asJSON - Mapping von ABAP-Datentypen →  asJSON - Mapping von Referenzvariablen und Objekten → 

asJSON - Instanzen von Klassen

Um Instanzen von Klassen mit der Anweisung CALL TRANSFORMATION nach JSON zu transformieren oder aus JSON-Daten zu erzeugen, müssen ihre Klassen das Interface IF_SERIALIZABLE_OBJECT implementieren. Die Darstellung der Instanz einer Klasse (Objekt) als Objektkomponente des Objekts %heap erfolgt in der Form:

"key":{ "%type":"class",
        "%val":{ "part":{ "%classVersion":"...",
                          "name":...
                          ...
                        }
                 ...
               }
      }

Der Name key ist der Schlüssel, über den das Objekt referenziert wird. Der Wert von key ist selbst ein Objekt, dessen Objektkomponenten die Klasse und die Attribute des referenzierten ABAP-Objekts darstellen.

Das Tag-Interface IF_SERIALIZABLE_OBJECT hat für JSON die gleiche Bedeutung wie für asXML. D.h. es legt fest, welche Attribute einer Klasse serialisiert werden und es können Hilfsmethoden implementiert werden, die ein angepasstes Verhalten bewirken (siehe das zugehörige Beispiel).

Ausführbares Beispiel

asJSON für Objektreferenzen