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

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

  1. js反序列化html编码,JavaScript实现的反序列化json字符串操作示例

    本文实例讲述了JavaScript实现的反序列化json字符串操作.分享给大家供大家参考,具体如下: JavaScript中如何反序列化json字符串呢? 有如下两种方法: (1) 使用万能的eval ...

  2. Newtonsoft.Json.dll 反序列化JSON字符串

    上一篇JSON博客<JSON入门级学习小结--JSON数据结构>中已对JSON做了简单介绍,JSON字符串数组数据样式大概是这样子的: 如今因为项目需求(asp.net web网站,前台向 ...

  3. newtonsoft.json java_Newtonsoft.Json.4.5.11使用方法总结---反序列化json字符串

    写在开头: 最近项目需求,需要在C#中处理json字符串,毫不犹豫的下载了Newtonsoft.Json 4.5.11(2012.12.17)http://json.codeplex.com/,然后百 ...

  4. go语言json字符串解析为结构体数组,结构体指针的数组

    废话不多说直接上效果图 完整代码如下 package main import ("encoding/json""fmt" ) // 结构体定义 type rob ...

  5. C#反序列化json字符串时,提示:应为来自命名空间“”的元素“root”。。遇到名称为“”、命名空间为“”的“None”。...

    我在做一个class深复制,用的是json序列化,反列化方式 本来感觉很简单的,谁知道一直出现错误 网上一搜到只有一处提到这个错误的http://www.cnblogs.com/jkf37551/ar ...

  6. 判断一个字符串是否是JSON字符串的坑

    开篇(扯点闲话) 提起JSON,想必大家脑海里能浮现出几个常用的JSON框架吧 : Jackson : Jackson是一个开源的基于Java的json解析和处理类库,它可以轻松的将Java对象转换成 ...

  7. JS: json字符串如何转换成对象

    前言:写需求的时候,后端给我接口返回数据是'[a:'1']'  类型 是谁还傻傻分不清序列化和反序列化-- json字符串:str=' { 'name' : '张三' , 'age' : '20' } ...

  8. c#解析json字符串处理清晰易懂的方法

    JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串. 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析. 2. 通用方式[★★★★★]: ...

  9. c#解析json字符串数组_c#解析json字符串处理(最清晰易懂的方法)

    (完整代码在文末,引用库文件后可直接运行~) 需求: 假设有如下json字符串: { "companyID": "15", "employees&qu ...

最新文章

  1. Java http协议概述
  2. Java设计模式——单件模式
  3. deepin 15.11 docker 安装命令
  4. Android的联通性---USB主机模式(三)
  5. ContentProvider与ContentResolver使用
  6. python命令行模式和交互模式区别_对命令行模式与python交互模式介绍
  7. mysql 线上修改参数_9.10、mysql进程、状态在线修改参数重要知识
  8. python美化excel_python3哪个库可以实现格式美化?
  9. matlab 加权回归估计_Matlab:地理加权回归基本操作
  10. 影视后期制作(Pr)
  11. 计算机网络基础之广域网
  12. web前端压缩图片方法——加快页面加载速度
  13. 2021年2月3日 星期三 农历立春 霾 天津
  14. 小明一家过桥_「小明一家人过桥问题」如何用编程解决?
  15. 企业新站,如何建立外链,提高预期排名?
  16. ASCP300-63B——三相电气防火限流式保护器
  17. 对于国内数据交换平台的分析
  18. 记一次拿webshell踩过的坑(如何利用PHP编写一个不包含数字和字母的后门)
  19. java安装教程(解决官网下载的安装包为什么没有jre?)
  20. 记一道USB流量分析题

热门文章

  1. SonarQube6.2源码解析(一)
  2. python观察日志(part1)--字典反向查找
  3. 20应用统计考研复试要点(part28)--简答题
  4. 支持向量机实现鸢尾花数据集分类matlab
  5. cent 8.0 安装tomcat 9.0_Tomcat部署及优化
  6. SAP 电商云 Spartacus UI 的 style library 介绍
  7. 适合 Kubernetes 初学者的一些实战练习 (三)
  8. 如何使用代码的方式删除 SAP CRM 订单 Text 数据
  9. Adding Applications for JavaScript Storefronts in SAP 电商云
  10. 您的主机不满足在启用Hyper-V 或DeviceCredential Guard的情况下运行VMware player的最低要求