JSON字符串转成ABAP结构

2023-10-13 19:09:30 浏览数 (1)

需求:通过PO与SRM系统进行联调时,发现SRM给我传来一个字符串,经过各位老师的帮忙,参考陆ht顾问的例子,我成功解决。 JSON转换为ABAP内表有两种方法。 方法一:

代码语言:javascript复制
*json解析定义
types:begin of ty_data,
        preis type string,
        bnfpo type string,
      end of ty_data.
data: lt_json type table of ty_data .
data: json_string type string.
data: deserializer type ref to cl_trex_json_deserializer.
*赋值
json_string = '[{preis:"100.000000",bnfpo:"00010" }]'.
*处理数据
create object deserializer.
deserializer->deserialize(
exporting json = json_string
importing abap = lt_json  ).

注:这种方法受限制,一不小心还会出错。 键值对的话,键一定不能加引号

方法二(推荐):

代码语言:javascript复制
DATA lr_json_serializer TYPE REF TO zCL_TREX_JSON_SERIALIZER.
DATA gs_itab TYPE zsmm013_item.
DATA:json_string TYPE string.
json_string = '{"itemList":[{"PREIS":100.000000,"BNFPO":"00010"},{"PREIS":100.000000,"BNFPO":"00020"}]}'.
/ui2/cl_json=>deserialize( EXPORTING 

0 人点赞