【发布时间】:2019-08-01 13:44:05
【问题描述】:
我需要根据通过 API 接收的数据填充 ABAP 中的表。
我正在使用以下 ABAP 函数从 json 填充现有 ABAP 表。
JSON 正确,Table 包含表中对应的表。
/ui2/cl_json=>deserialize( EXPORTING json = lv_json
CHANGING data = lt_abap ).
运行它会返回一个空白的 lt_abap 表。
将输出更改为结构时,这可以正常工作。但问题是需要一个表,而不是后续调用的结构
/ui2/cl_json=>deserialize( EXPORTING json = lv_json
CHANGING data = ls_abap
任何人都可以提出一个解决方案来将他的 JSON 放入我的 TABLE 中吗?
JSON:
{
"Id": "1369130",
"Venueid": "0005",
"Userid": "1320625",
"Menuid": "null",
"Created": "2019-07-29T08:18:35.000+0000",
"items": [
{
"Id": "4255354",
"Total": "3.10",
"Price": "2.80",
"Qty": "1",
"Orderid": "1369130",
"Menuitemid": "1447268",
"Externalid": "",
"Name": "Breakfast Roll Deal",
"modifiers": [
{
"Price": "0.00",
"Qty": "1",
"Id": "0000001",
"Orderitemid": "4255354",
"Externalid": "1000716",
"Name": "Bacon and Sausage Corn Topped Roll"
},
{
"Price": "0.30",
"Qty": "1",
"Id": "00000002",
"Orderitemid": "4255354",
"Externalid": "E1001587",
"Name": "Extra Sausage"
},
{
"Price": "0.00",
"Qty": "1",
"Id": "00000003",
"Orderitemid": "4255354",
"Externalid": "1000774",
"Name": "Latte"
},
{
"Price": "0.00",
"Qty": "1",
"Id": "00000004",
"Orderitemid": "4255354",
"Externalid": "E",
"Name": "Spread"
}
]
}
]
}
表结构完全匹配。
【问题讨论】:
-
请添加Minimal, Reproducible Example:缺少最小的JSON和内部表的类型(最终,最小意味着您使用非常简单的JSON和对应的非常简单的表类型创建了一个最小程序)。
-
您发布的不是表格。它是一个结构。可以映射到表的 JSON 应以
[开头并以]结尾。 -
@Jagger 您可以将您的评论转换为答案以便我投票吗?谢谢。
-
@SandraRossi 这样做了。 SAP 在
LOOP AT SCREEN上的任何更新? :) -
@Jagger 谢谢。自 6 月 28 日起没有关于 LOOP AT SCREEN 的 SAP 消息,仍在“进行中”;不要急,它在我的 SAP 支持收件箱中,我会在收到消息后立即发布好消息或坏消息。
标签: json deserialization abap