博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用ABAP代码反序列化JSON字符串成ABAP结构
阅读量:7038 次
发布时间:2019-06-28

本文共 762 字,大约阅读时间需要 2 分钟。

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

我的任务是解析出上图黑色方框里的几个字段,比如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=>deserializeEXPORTINGjson = lv_responseCHANGINGdata = ls_data.

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

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

转载地址:http://ugnal.baihongyu.com/

你可能感兴趣的文章
嗯,让我们彻底搞懂C/C++函数指针吧(二)
查看>>
JavaScript之jQuery-3 jQuery操作DOM(查询、样式操作、遍历节点、创建插入删除、替换、复制)...
查看>>
nbu jnbsa启动错误
查看>>
JAVA复习笔记(七)
查看>>
Angularjs开发一些经验总结
查看>>
zlib库剖析(1):实现概览
查看>>
关于Excel导入的HDR=YES; IMEX=1详解
查看>>
86-浏览器缓存中的部分变量简析
查看>>
yum扩展源(国内镜像站的修改)
查看>>
[iPhone开发之控件的使用]UIActionSheet的各种属性、方法及代理的使用
查看>>
8.python之面相对象part.6(python类中的多态与多态性)
查看>>
c#剪切板
查看>>
Xcode6无法安装VVDocumenter插件的解决方法
查看>>
IO流的操作规律
查看>>
C# excel 转 PDF文档的
查看>>
博客园 noteless 全部文章 目录索引
查看>>
免费ARP
查看>>
2019-01-04
查看>>
常见退信解释
查看>>
mysql5.7 开启增强半同步复制
查看>>