JSON到ABAP Deserializer,在字段名中带有特殊符号

2020-09-04 14:03发布

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

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


大家好,

在反序列化器中,字段名称有这样的问题,例如" message-a":" Hello"("-")。

我点击了此处的链接 https://wiki.scn.sap.com/wiki/display/Snippets/One+more+ABAP+to+JSON+Serializer+and+Deserializer ,但无效。

我尝试过:message__H__a,message_a(无法尝试使用字段名message-a)。 如果我使用动态类型(对数据的ref类型)声明" lv_out",它可以工作,但是我想以静态方式进行解析,因为它很容易控制我的代码。

能否请您告诉我如何解析此方法? 非常感谢您阅读。

 PRETTY_NAME:
 编码规则ABAP名称→JSON名称):'__ E__'→'!''__ N__'→'#''__ D__'→'$''__ P__'→'%''__ M__'→'&'__ S__'→'*  ''__H__''→'-''__ T__'→'〜''__ L__'→'/''__ C__'→':''__ V__'→'|''__ A__'→'@''__ O__'或'___'  →'。'

 类型:开始于ty_out,

     message__H__a TYPE字符串,

   结束时间ty_out。

 数据:lv_json TYPE字符串,
       lv_out TYPE ty_out。


 lv_json ='{" message-a":" Hello"}'。


/ui2/cl_json =>反序列化(
     出口
       json = lv_json
       pretty_name =/ui2/cl_json => pretty_mode扩展
     改变
       数据= lv_out)。

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

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


大家好,

在反序列化器中,字段名称有这样的问题,例如" message-a":" Hello"("-")。

我点击了此处的链接 https://wiki.scn.sap.com/wiki/display/Snippets/One+more+ABAP+to+JSON+Serializer+and+Deserializer ,但无效。

我尝试过:message__H__a,message_a(无法尝试使用字段名message-a)。 如果我使用动态类型(对数据的ref类型)声明" lv_out",它可以工作,但是我想以静态方式进行解析,因为它很容易控制我的代码。

能否请您告诉我如何解析此方法? 非常感谢您阅读。

 PRETTY_NAME:
 编码规则ABAP名称→JSON名称):'__ E__'→'!''__ N__'→'#''__ D__'→'$''__ P__'→'%''__ M__'→'&'__ S__'→'*  ''__H__''→'-''__ T__'→'〜''__ L__'→'/''__ C__'→':''__ V__'→'|''__ A__'→'@''__ O__'或'___'  →'。'

 类型:开始于ty_out,

     message__H__a TYPE字符串,

   结束时间ty_out。

 数据:lv_json TYPE字符串,
       lv_out TYPE ty_out。


 lv_json ='{" message-a":" Hello"}'。


/ui2/cl_json =>反序列化(
     出口
       json = lv_json
       pretty_name =/ui2/cl_json => pretty_mode扩展
     改变
       数据= lv_out)。
付费偷看设置
发送
4条回答
bbpeas
1楼 · 2020-09-04 14:23.采纳回答

确保在您的系统中实现了 2526405 。 之后,它应该可以正常工作。

BR,
Gábor

DafaDDDa
2楼-- · 2020-09-04 14:47

非常感谢。 注意2526405解决了我的问题

奄奄一息的小鱼
3楼-- · 2020-09-04 14:31

我认为您(和我)可能使用的是旧版本的/UI2/CL_JSON。 维基文章中提到了带有更新的NOTES。

当我调试并检查方法PRETTY_NAME_EX(EXTENDED的转换/编码)时,找不到" __H__"到"-"的任何转换。
我的开发系统上的此方法版本为15.03.2017 ...

wang628962
4楼-- · 2020-09-04 14:24

谢谢您的信息。 根本原因实际上是在Pretty_name_ex方法中,因为该注释在我的系统中也没有更新。

一周热门 更多>