JSON字符串转成ABAP结构

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

*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  ).

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

方法二(推荐):

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 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值