假设我有这个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=>deserialize
EXPORTING
json = lv_response
CHANGING
data = ls_data.

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



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

最新文章

  1. Android开发笔记之《Window下安装Ubuntu双系统,Grub无法显示Window选项》
  2. 从PDF中提取信息----PDFMiner
  3. kuangbin_SegTree M (HDU 4553)
  4. ArcEngine编写WebService
  5. 移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题
  6. zepto源代码解读
  7. Zookeeper的功能以及工作原理
  8. ICTCLA中科院分词工具用法(java)
  9. IE8中JSON.stringify方法对自动转换unicode字符的解决方案
  10. c 计算 语句 执行 时间
  11. 选择下拉列表最大索引值 Select From List By Max Index
  12. ashx-auth-黑色简洁验证码
  13. 笔试题:金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出
  14. tomato dualwan /root目录的特殊用途
  15. 记一次向maven中央仓库提交依赖包
  16. java 根据经纬度坐标计算两点的距离算法
  17. Little Sub and Mr.Potato's Math Problem-构造
  18. js 策略模式 实现表单验证
  19. canvas.drawImage()方法详解
  20. Django ORM操作的几个细节

热门文章

  1. P3800 Power收集
  2. Linux字符设备驱动--Led设备驱动
  3. jinkens 检查svn更新就构建
  4. acm刷题序列
  5. js 获取非行间样式
  6. File "<ipython-input-20-ac8d4b51998e>"
  7. 搜索提示(search suggest)文献阅读
  8. 在IE8下background-image不显示的解决方法
  9. C# List(T).Reverse 方法 顺序反转
  10. HDU 5407——CRB and Candies——————【逆元+是素数次方的数+公式】