1、JSON数组
[
{
"I_TYPE":"V",
"I_BUSINESSSCOPE":"1001"
},
{
"I_TYPE":"V",
"I_BUSINESSSCOPE":"1002"
}
]
TYPES: BEGIN OF ty_in1,
I_TYPE(1),
I_BUSINESSSCOPE(10),
END OF ty_in1.
DATA: gt_in1 TYPE TABLE OF ty_in1,
gs_in1 TYPE ty_in1.
CALL METHOD /ui2/cl_json=>deserialize
EXPORTING
json = i_json "i_json是输入的json字符串
CHANGING
data = gt_in1[].
2、JSON对象+JSON数组
{
"IHEADER":{
"I_BKTXT":"测试1",
"I_USNAM":"J007"
},
"ITEM":[
{
"I_TYPE":"V",
"I_BUSINESSSCOPE":"1021"
}
]
}
sap结构定义如下,需注意头IHEADER和ITEM报文中需和定义的保持一致,
DATA:BEGIN OF ty_header,
I_BKTXT(30),
I_USNAM(10),
END OF ty_header,
BEGIN OF ty_item,
i_type(1),
i_businessscope(10),
END OF ty_item,
BEGIN OF ty_in2,
iheader LIKE ty_header,
itable LIKE TABLE OF ty_item,
END OF ty_in2.
DATA: is_header LIKE ty_header,
it_item LIKE TABLE OF ty_item.
*JSON->内表
CALL METHOD /ui2/cl_json=>deserialize
EXPORTING
json = i_json "jsonstr是json字符串
CHANGING
data = ty_in2.
*另一种方式,同上
/ui2/cl_json=>deserialize(
EXPORTING json = i_json
CHANGING data = ty_in2 ).
is_header = ty_in2-iheader.
it_item = ty_in2-item.
解析结果:
注意:/ui2/cl_json通常都可以解析,需要特别留意的是CHANGING参数的结构的定义,如果定义不一致,可能解析不出来。
参考文档:
ABAP: 定义结构_abap types 包含表结构_阿达hi的博客-CSDN博客
ABAP 接口开发之HTTP传输JSON的封装和解析_HeathlX的博客-CSDN博客
JSON和SAP内表转化_/ui2/cl_json=>deserialize-CSDN博客
原文地址:https://blog.csdn.net/qq_39128364/article/details/134643467
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_13363.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。