常规

驼峰命名

代码
*&---------------------------------------------------------------------*
*& Report Z_JSON_TEST_01
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_JSON_TEST_01.* 自定义数据类型
TYPES: BEGIN OF TY_MAKT,MATNR_RT LIKE MAKT-MATNR, " 物料编号MAKTX_RJ LIKE MAKT-MAKTX, " 物料描述END OF TY_MAKT.
TYPES: BEGIN OF TY_MA,MATNR_RT LIKE MAKT-MATNR, " 物料编号NAME TYPE STRING,END OF TY_MA.* 定义变量
DATA: JSON_STR TYPE STRING.
* 定义内表
DATA: LT_MAKT TYPE STANDARD TABLE OF TY_MAKT.
DATA LT_MA TYPE TABLE OF TY_MA.DATA LR_D TYPE REF TO DATA.* 获取数据
SELECT MATNR AS MATNR_RT, MAKTX AS MAKTX_RJINTO CORRESPONDING FIELDS OF TABLE @LT_MAKTFROM MAKTUP TO 5 ROWS.* 序列化:把内表lt_makt转换为JSON字符串
CALL METHOD /UI2/CL_JSON=>SERIALIZEEXPORTINGDATA = LT_MAKTPRETTY_NAME = /UI2/CL_JSON=>PRETTY_MODE-CAMEL_CASERECEIVINGR_JSON = JSON_STR.CL_DEMO_OUTPUT=>WRITE( JSON_STR ).* 清空内表
CLEAR LT_MAKT.* 反序列化:json字符串转内表
CALL METHOD /UI2/CL_JSON=>DESERIALIZEEXPORTINGJSON = JSON_STRPRETTY_NAME = /UI2/CL_JSON=>PRETTY_MODE-CAMEL_CASECHANGINGDATA = LT_MAKT.CALL METHOD /UI2/CL_JSON=>DESERIALIZEEXPORTINGJSON = JSON_STRPRETTY_NAME = /UI2/CL_JSON=>PRETTY_MODE-CAMEL_CASECHANGINGDATA = LT_MA.CL_DEMO_OUTPUT=>WRITE( LT_MAKT ).
CL_DEMO_OUTPUT=>WRITE( LT_MA ).
CL_DEMO_OUTPUT=>DISPLAY( ).
运行结果
