ABAP将JSON反序列化为表

2020-08-14 06:44发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我需要通过API接收的数据填充ABAP中的表。

我正在使用以下ABAP函数从json填充现有的ABAP表。

JSON是正确的,并且Table在表中包含相应的表。

 /ui2/cl_json =>反序列化(导出json = lv_json
                              更改数据= lt_abap)。

运行此命令将返回一个空白的lt_abap表。

将输出更改为结构时,此方法工作正常。 但是问题是需要一个表,而不是后续调用的结构

 /ui2/cl_json =>反序列化(导出json = lv_json
                              更改数据= ls_abap 

任何人都可以提出解决方案或将JSON插入我的表中吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我需要通过API接收的数据填充ABAP中的表。

我正在使用以下ABAP函数从json填充现有的ABAP表。

JSON是正确的,并且Table在表中包含相应的表。

 /ui2/cl_json =>反序列化(导出json = lv_json
                              更改数据= lt_abap)。

运行此命令将返回一个空白的lt_abap表。

将输出更改为结构时,此方法工作正常。 但是问题是需要一个表,而不是后续调用的结构

 /ui2/cl_json =>反序列化(导出json = lv_json
                              更改数据= ls_abap 

任何人都可以提出解决方案或将JSON插入我的表中吗?

付费偷看设置
发送
6条回答
葫芦娃快救爷爷
1楼-- · 2020-08-14 07:24

你好亚当,

如果您提供数组作为输入,而不是像以前那样提供JSON对象,那么JSON字符串将仅反序列化到表中。

简单地追加追加怎么办? 将结果保存到表中?

/ui2/cl_json =>反序列化(导出json = lv_json
                            更改数据= ls_abap)。

 将ls_abap插入表lt_abap。
 

BR,
Gábor

奄奄一息的小鱼
2楼-- · 2020-08-14 07:29

请提供您使用的示例JSON吗?

能不能别闹
3楼-- · 2020-08-14 07:38

你好亚当,

可以构造一个深层结构并将表嵌入其中。 同样,下面的方法提供了异常处理。

致谢

Prabha

 数据:lr_json类型引用到/ui2/cl_json。
 
如果lv_json_data不是INITIAL。 创建对象lr_json。 尝试。 lr_json-> deserialize_int(导出json = lv_json_data更改数据= ls_slack_data)。 万一。 捕获cx_sy_move_cast_error INTO DATA(lo_move_cast_error)。 DATA(lv_msg_desrl_err)=`HTTP GET失败:`&& lo_move_cast_error-> get_longtext()。 免费:l_wa_reason,lo_move_cast_error。 ENDTRY。
悠然的二货
4楼-- · 2020-08-14 07:43
 {
     " Id":" 1369130",
     " Venueid":" 0005",
     " Userid":" 1320625",
     " Menuid":" null",
     " Created":" 2019-07-29T08:18:35.000 + 0000",
     "项目":[
       {
         " Id":" 4255354",
         "总计":" 3.10",
         "价格":" 2.80",
         "数量":" 1",
         " Orderid":" 1369130",
         " Menuitemid":" 1447268",
         " Externalid":"",
         "名称":"早餐滚动交易",
         "修饰符":[
           {
             "价格":" 0.00",
             "数量":" 1",
             " Id":" 0000001",
             " Orderitemid":" 4255354",
             " Externalid":" 1000716",
             "名称":"培根和香肠玉米卷"
           },
           {
             "价格":" 0.30",
             "数量":" 1",
             " Id":" 00000002",
             " Orderitemid":" 4255354",
             " Externalid":" E1001587",
             "名称":"额外的香肠"
           },
           {
             "价格":" 0.00",
             "数量":" 1",
             " Id":" 00000003",
             " Orderitemid":" 4255354",
             " Externalid":" 1000774",
             "名称":"拿铁咖啡"
           },
           {
             "价格":" 0.00",
             "数量":" 1",
             " Id":" 00000004",
             " Orderitemid":" 4255354",
             " Externalid":" E",
             "名称":"传播"
           }
         ]
       }
 ]
   } 
xfwsx85
5楼-- · 2020-08-14 07:30

再简单不过了...

 /ui2/cl_json =>反序列化(导出json = lv_json
                              更改数据= lS_abap)。
 附录LS_abap到lt_abap。 
小c菟菟
6楼-- · 2020-08-14 07:42

我们如何将abap的布尔值和null值从abap转换为json,反之亦然

一周热门 更多>