PI Rest Sender适配器,如何忽略有效负载中的转义字符

2020-08-20 09:21发布

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

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


专家您好,

在有效负载中,我有字符(正斜杠)"/",但在将其从XML转换为JSON时,发件人REST适配器在其后附加了" \"(反斜杠)。

需要帮助从生成的JSON格式中消除" \"(反斜杠)。

XML格式

<的ServiceType> CPINPUSHREQ 结果<签名> wcIc4ooVKxfBGT0tpZJMAkIc2xEKYDrgNXvvJheeLXC2inadHGpIVQQh8N0uj3b/uEwQowOD4rIeb3zHn4in0amePt73TziUTuzeZyHO + 3J5ADDs8AlJ/oYpYW5IfgRopejWSshCBXsob + 7WkS1D3GLFg2L7VKumf4xz5cjTDR3vTMA7QPk6ogoe5kX0w5baJtprzNUR2K1/5P6YmWSQBUVaYOlewviAbw4BCvhCLNn67WhskPEBzRc3vqlkPK/CDX + 8gsgTqOLWoBMUvaFCNwewpOSZ4gtdGwUtjx9JjWKHV40lWA6wwmay/9USx + cRgfUiID9P8Y6F2iLc7tCt6g ==

产生JSON格式

{ "系统": "SAPTEST", "服务类型": "CPINPUSHREQ", "签名":"wcIc4ooVKxfBGT0tpZJMAkIc2xEKYDrgNXvvJheeLXC2inadHGpIVQQh8N0uj3b \/uEwQowOD4rIeb3zHn4in0amePt73TziUTuzeZyHO + 3J5ADDs8AlJ \/oYpYW5IfgRopejWSshCBXsob + 7WkS1D3GLFg2L7VKumf4xz5cjTDR3vTMA7QPk6ogoe5kX0w5baJtprzNUR2K1 \/5P6YmWSQBUVaYOlewviAbw4BCvhCLNn67WhskPEBzRc3vqlkPK \/CDX + 8gsgTqOLWoBMUvaFCNwewpOSZ4gtdGwUtjx9JjWKHV40lWA6wwmay \/9USx + cRgfUiID9P8Y6F2iLc7tCt6g = =","有效载荷":{" CPIN":" 10341234567890"," ExpDt":" 20170720"," TotalAmt":" 200"," PayerName":" abc"," ChallanDtls":[{" AcntID": " 101001001","金额":" 200"," AdminZone":" 10"},{" AcntID":" 101001001","金额":" 200"," AdminZone":" 10"}]}}}

此致

甜味剂

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

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


专家您好,

在有效负载中,我有字符(正斜杠)"/",但在将其从XML转换为JSON时,发件人REST适配器在其后附加了" \"(反斜杠)。

需要帮助从生成的JSON格式中消除" \"(反斜杠)。

XML格式

<的ServiceType> CPINPUSHREQ 结果<签名> wcIc4ooVKxfBGT0tpZJMAkIc2xEKYDrgNXvvJheeLXC2inadHGpIVQQh8N0uj3b/uEwQowOD4rIeb3zHn4in0amePt73TziUTuzeZyHO + 3J5ADDs8AlJ/oYpYW5IfgRopejWSshCBXsob + 7WkS1D3GLFg2L7VKumf4xz5cjTDR3vTMA7QPk6ogoe5kX0w5baJtprzNUR2K1/5P6YmWSQBUVaYOlewviAbw4BCvhCLNn67WhskPEBzRc3vqlkPK/CDX + 8gsgTqOLWoBMUvaFCNwewpOSZ4gtdGwUtjx9JjWKHV40lWA6wwmay/9USx + cRgfUiID9P8Y6F2iLc7tCt6g ==

产生JSON格式

{ "系统": "SAPTEST", "服务类型": "CPINPUSHREQ", "签名":"wcIc4ooVKxfBGT0tpZJMAkIc2xEKYDrgNXvvJheeLXC2inadHGpIVQQh8N0uj3b \/uEwQowOD4rIeb3zHn4in0amePt73TziUTuzeZyHO + 3J5ADDs8AlJ \/oYpYW5IfgRopejWSshCBXsob + 7WkS1D3GLFg2L7VKumf4xz5cjTDR3vTMA7QPk6ogoe5kX0w5baJtprzNUR2K1 \/5P6YmWSQBUVaYOlewviAbw4BCvhCLNn67WhskPEBzRc3vqlkPK \/CDX + 8gsgTqOLWoBMUvaFCNwewpOSZ4gtdGwUtjx9JjWKHV40lWA6wwmay \/9USx + cRgfUiID9P8Y6F2iLc7tCt6g = =","有效载荷":{" CPIN":" 10341234567890"," ExpDt":" 20170720"," TotalAmt":" 200"," PayerName":" abc"," ChallanDtls":[{" AcntID": " 101001001","金额":" 200"," AdminZone":" 10"},{" AcntID":" 101001001","金额":" 200"," AdminZone":" 10"}]}}}

此致

甜味剂

付费偷看设置
发送
9条回答
Nir深蓝
1楼 · 2020-08-20 09:48.采纳回答

大家好,

使用FormatConversionBean通过以下链接解决了此问题

https ://blogs.sap.com/2015/03/25/formatconversionbean-one-bean-to-rule-them-all /

一只江湖小虾
2楼-- · 2020-08-20 09:53

HI Piyush,

我正在使用Proxy到REST同步界面。 我有几个输入字段,其中有值'/',例如:(AOUS/12和一些日期字段(23/04/2020)。

在JSON输出有效负载中,它的输出为AOUS \/12,日期为23 \/04 \/2020。

之间有一个加号'\'。 我试图在自定义xml/JSON覆盖规则中将字段声明为"字符串"。 但仍然无法正常工作。 我还尝试将数据类型的字段声明为"日期",但仍然没有运气,因为在映射中正确填充了该字段。

在将XML转换为JSON格式时,问题出在REST通道上。

您能帮助我如何在频道一级消除此多余的'\'吗? 如果您有相同的JAVA映射编码,请分享一下。

谢谢

史密斯

一只江湖小虾
3楼-- · 2020-08-20 09:42

嗨,

可以通过JAVA中的string#replace功能实现

类似的东西

字符串noSlashes = input.replace(" \\","");

以下Java文档中的更多信息

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replace%28java.lang.CharSequence,%20java.lang .CharSequence%29

谢谢

Piyush

一周热门 更多>