ABAP json解析使用引用代替预定义数据结构

背景:在解析JSON数据时,通常会事先为定义相应的ABAP数据结构。但是,当遇到一些结构纵深较为复杂的情况时,会比较麻烦。

处理 :使用引用类型来定义结构中的纵深部分来达到"省事"的目的,缺点在于访问时需要使用指针动态访问。也可以参考json转换为abap数据对象并输出数据声明_json 在线转abap-CSDN博客根据已处理好的json(不压缩且包含所有数据)来生成定义部分的代码。

复制代码
DATA json             TYPE string.
DATA pretty_name      TYPE /ui2/cl_json=>pretty_name_mode.
DATA name_mappings    TYPE /ui2/cl_json=>name_mappings.

DATA: BEGIN OF data,
        tab1 TYPE REF TO data,
        tab2 TYPE REF TO data,
      END OF data.

json = `{`
&& `    "TAB1": [{                     `
&& `            "A": "A",              `
&& `            "B": "B",              `
&& `            "C": "C",              `
&& `            "d": "d"               `
&& `        }, {                       `
&& `            "D": "D",              `
&& `            "E": "E",              `
&& `            "F": "F"               `
&& `        }                          `
&& `    ],                             `
&& `    "TAB2": [{                     `
&& `            "KEY": "01",           `
&& `            "VALUE": "第一行"         `
&& `        }`
&& `    ]                              `
&& `}                                  `
.


/ui2/cl_json=>deserialize(
  EXPORTING
    json             = json
    pretty_name      = /ui2/cl_json=>pretty_mode-none
    assoc_arrays     = ''
    assoc_arrays_opt = ''
    name_mappings    = name_mappings
  CHANGING
    data             = data
       ).

解析后的数据结构:

相关推荐
njsgcs2 天前
json转excel python pd
python·json·excel·pd
代码搬运媛2 天前
【架构相关】tsconfig.json 与 tsconfig.node.json、tsconfig.app.json 的关系和作用
node.js·json
放弃幻想_2 天前
S4和ECC或者不通CLIENT,不通HANA服务器互相取数
服务器·数据库·sap·abap·abap sap
aerror3 天前
json转excel xlsx文件
开发语言·python·json
掉鱼的猫3 天前
全球首个支持 IETF JSONPath (RFC 9535) 标准的 Java 框架,Snack4-Jsonpath v4.0.0 发布
java·json
吹个口哨写代码4 天前
处理文本编辑器存的json格式报错问题,对编辑器存的字段进行转换处理,再通过json返回
java·编辑器·json
APIshop4 天前
代码实例:Python 爬虫抓取与解析 JSON 数据
爬虫·python·json
得物技术4 天前
从 JSON 字符串到 Java 对象:Fastjson 1.2.83 全程解析|得物技术
java·后端·json
GISBox5 天前
GISBox如何让GeoTIFF突破Imagery Provider加载限制?
react.js·json·gis
C嘎嘎嵌入式开发5 天前
(20)100天python从入门到拿捏《JSON 数据解析》
开发语言·python·json