温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用ABAP代码反序列化JSON字符串成ABAP结构

发布时间:2020-08-09 08:42:42 来源:ITPUB博客 阅读:135 作者:i042416 栏目:web开发

假设我有这个JSON字符串如下图所示:


如何使用ABAP代码反序列化JSON字符串成ABAP结构

我的任务是解析出上图黑色方框里的几个字段,比如ObjectID, ETag, BuyerID, DateTime, ID, Name等等,把它们的值存储到对应ABAP变量里。

下面是ABAP解析方案。

  1. 首先定义一个ABAP结构,包含需要解析的几个字段。

TYPES: BEGIN OF ty_header,
objectid TYPE string,
buyerid  TYPE string,
datetime TYPE string,
id       TYPE string,
name     TYPE string,
END OF ty_header.

然后定义一个ABAP结构,字段名为results,对应本文截图里加了红色下划线的json字符串中的results字段,类型为刚刚定义的ty_header:

TYPES: BEGIN OF ty_result,
results TYPE ty_header,END OF ty_result.

同样,再定义一个ABAP结构ty_d:

TYPES: BEGIN OF ty_d,
d TYPE ty_result,
END OF ty_d.

总之,ABAP里定义的结构,其字段名和层次结构必须和JSON字符串一致。

  1. 定义一个ABAP变量用于存储反序列化结果,类型为步骤一的ty_d:

DATA: ls_data TYPE ty_d.
WRITE:/ lv_response.CALL METHOD /ui2/cl_json=>deserialize
EXPORTING
json = lv_response
CHANGING
data = ls_data.

执行上述代码,发现反序列化成功:


如何使用ABAP代码反序列化JSON字符串成ABAP结构

如何使用ABAP代码反序列化JSON字符串成ABAP结构

如何使用ABAP代码反序列化JSON字符串成ABAP结构


要获取更多Jerry的原创文章,请关注公众号"汪子熙":

如何使用ABAP代码反序列化JSON字符串成ABAP结构


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI