Here is a little sample program to create JSON from ABAP and to convert JSON back to ABAP Types. I got the requirement as i was experimenting with UI5 where i needed a class for a SICF service implementation http handler, that provides JSON from ABAP and vice versa.
i've read, that there was an issue with the json serializer/deserializer classes and that ther were SAP notes available for a correction.
Here's the code snippet:
DATA:
lo_json_serializer TYPE REF TO cl_trex_json_serializer,
lo_json_deserializer TYPE REF TO cl_trex_json_deserializer,
lt_bseg TYPE STANDARD TABLE OF bseg,
ls_bseg TYPE bseg,
lt_bseg_deserialized TYPE STANDARD TABLE OF bseg,
lv_json_string TYPE string. "this string contains json
* Select some data from BSEG table
SELECT * FROM bseg INTO CORRESPONDING FIELDS OF TABLE lt_bseg UP TO 10 ROWS.
* Create JSON Serializer Object
CREATE OBJECT lo_json_serializer
EXPORTING data = lt_bseg.
* Call serialization method
CALL METHOD lo_json_serializer->serialize.
* Get the serialized data
CALL METHOD lo_json_serializer->get_data
RECEIVING rval = lv_json_string.
WRITE /'SERIALIZED'.
* Create JSON Deserializer Object
CREATE OBJECT lo_json_deserializer.
* Call deserialization method
CALL METHOD lo_json_deserializer->deserialize
EXPORTING json = lv_json_string
IMPORTING abap = lt_bseg_deserialized.
WRITE /'DESERIALIZED'.
* Compare pre and post serialization data
IF lt_bseg[] = lt_bseg_deserialized[].
WRITE /'SERIALIZE & DESERIALIZE SUCCESSFULL'.
ENDIF.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
3 | |
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 |