背景:在解析JSON数据时,通常会事先为定义相应的ABAP数据结构。但是,当遇到一些结构纵深较为复杂的情况时,会比较麻烦。
处理:使用引用类型来定义结构中的纵深部分来达到“省事”的目的,缺点在于访问时需要使用指针动态访问。也可以参考json转换为abap数据对象并输出数据声明_json 在线转abap-优快云博客根据已处理好的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": "