如何使用ABAP代码反序列化JSON字符串成ABAP结构「建议收藏」

如何使用ABAP代码反序列化JSON字符串成ABAP结构「建议收藏」如何使用ABAP代码反序列化JSON字符串成ABAP结构

大家好,又见面了,我是你们的朋友全栈君。

假设我有这个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的原创文章,请关注公众号”汪子熙”:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106961.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript如何定义类

    javascript如何定义类

    2021年8月5日
    59
  • 整理了十五道为数不多的tomcat面试题,错过就没了!

    整理了十五道为数不多的tomcat面试题,错过就没了!当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(有时候也是在第一次请求时实例化)在servlet注册时加上如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化。

    2022年6月6日
    29
  • java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」

    java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」Web文件上传采用POST的方式,与POST提交表单不同的是,上传文件需要设置FORM的enctype属性为multipart/form-data.由于上传的文件会比较大,因此需要设置该参数指定浏览器使用二进制上传。如果不设置,enctype属性默认为application/x-www-form-urlencoded,使用浏览器将使用ASCII向服务器发送数据,导致发送文件失败。上传文件要使用文件…

    2022年9月4日
    3
  • 学习使用Java Quartz任务调度(一)

    学习使用Java Quartz任务调度(一)//本着以交流经验和学习的态度来分享知识,如果有误,请批评指出,不胜感激!现在企业中基本均有涉及到任务调度和异步执行器,在Java方向,提供了开源的Quartz、JDK提供了Timer。在以上基础前提下,Java5.0通过java.util.concurrent这个新包以及它下边的诸多类和接口,提供了方便的线程池调用。在本篇文章中,我们主要使用Quartz来作为解决任务调度的工具。为什么不…

    2022年7月13日
    16
  • scrollHeight、scrollTop等的比较[通俗易懂]

    scrollHeight、scrollTop等的比较[通俗易懂]自接触js以来一直使用的是jquery插件,对js的了解甚少,经常容易混淆element.scrollHeight、element.scrollTop等方法。今天对这些方法做出比较。scrollTop:可以设置或者获取元素的已滚动的上部不可见区域的高度。<!DOCTYPEhtml><html><head><title&gt…

    2022年7月23日
    6
  • 最小均方误差MMSE算法_怎样让均方误差最小

    最小均方误差MMSE算法_怎样让均方误差最小 

    2022年9月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号