SAP 内表数据转换为JSON格式

DATA: lv_json TYPE string.

DATA: lt_mapping_items TYPE /ui2/cl_json=>name_mappings.

DATA: BEGIN OF ls_detail,

code TYPE string,

name TYPE string,

age TYPE string,

END OF ls_detail,

lt_detail LIKE TABLE OF ls_detail,

BEGIN OF ls_header,

origh TYPE string,

orname TYPE string,

details LIKE lt_detail,

END OF ls_header.

ls_detail-code = 'A001'.

ls_detail-name = '张三'.

ls_detail-age = '18'.

APPEND ls_detail TO lt_detail.

ls_detail-code = 'A002'.

ls_detail-name = '李四'.

ls_detail-age = '25'.

APPEND ls_detail TO lt_detail.

ls_header-origh = 'C0001'.

ls_header-orname = '测试'.

ls_header-details = lt_detail.

"ABAP对应JSON字段映射

lt_mapping_items = VALUE #( ( abap = 'origh' json = 'orgid' )

( abap = 'orname' json = 'orname' )

( abap = 'details' json = 'details' )

( abap = 'code' json = 'id' )

( abap = 'name' json = 'name' )

( abap = 'age' json = 'age' )

).

"ABAP结构转JSON

lv_json = /ui2/cl_json=>serialize(

data = ls_header

compress = abap_false

pretty_name = /ui2/cl_json=>pretty_mode-camel_case

name_mappings = lt_mapping_items ).

WRITE: / 'ABAP转JSON结果:',lv_json.

相关推荐
我自纵横20231 小时前
事件处理程序
开发语言·前端·javascript·css·json·ecmascript
huidoo8884 小时前
notepad++日常使用(每行开头、每行末尾增加字符串,每行中间去掉字符串)
json·notepad++
斯普信专业组6 小时前
Linux命令之jq命令处理JSON数据
linux·运维·json
wordbaby11 小时前
JSON.parse(JSON.stringify()) 的“坑”:数据丢失与类型转换问题
前端·json
还是鼠鼠16 小时前
Node.js局部生效的中间件
javascript·vscode·中间件·node.js·json·express
小石潭记丶17 小时前
sqlalchemy查询json
java·前端·json
欸呀呀呀2 天前
对象转成json后转成byte[]后在转成string会提示序列化失败,第一个字符是问号
后端·json
麓殇⊙2 天前
springMVC-Json交互处理
json·交互
还是鼠鼠2 天前
Node.js自定义中间件
javascript·vscode·中间件·node.js·json·express
懒惰的橘猫2 天前
mapreduce工作原理
json