本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表。
注:json字符串格式如:jsonstr = '[ {flag: "0",message: "abc"},{flag: "1",message: "abcdddd"}]'.
另注意转换key value双引号问题
*&---------------------------------------------------------------------* *& Report Z_YHY_TEST_JSON *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT Z_YHY_TEST_JSON. DATA: json_ser TYPE REF TO CL_TREX_JSON_SERIALIZER, json_des TYPE REF TO CL_TREX_JSON_DESERIALIZER. DATA: jsonstr TYPE string. DATA: BEGIN OF itab OCCURS 0, matnr LIKE makt-matnr, maktx LIKE makt-maktx, END OF itab. START-OF-SELECTION. SELECT * INTO CORRESPONDING FIELDS OF TABLE itab FROM makt UP TO 10 ROWS. ***内表->JSON CREATE OBJECT json_ser EXPORTING data = itab[]. CALL METHOD json_ser->SERIALIZE. CALL METHOD json_ser->GET_DATA RECEIVING rval = jsonstr. WRITE: jsonstr. ***JSON->内表 CREATE OBJECT json_des. CALL METHOD json_des->DESERIALIZE EXPORTING json = jsonstr IMPORTING abap = itab[].