点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我需要使用Groovy脚本来克服Cloud Platform Integration上标准XML to JSON转换器的缺点。
这是我需要获取的输出JSON格式:
{ " PO":" test21", "项目":[{ " Id":" 000010", "产品":" XXXXX", "数量":5 " Discount_Percent":0, "单价":0, "药品":错误, }] }
但这是我从转换器中收到的:
{ " PO":" test21", "项目":[{ " Id":" 000010", "产品":" XXXXX", "数量":" 5.000", " Discount_Percent":" 0.000", "单价": "", " Pharmaceutical":" false", }] }
我不是Groovy专家,并尝试使用SAP注释中提供的内容使用以下groovy将" false"替换为false,但这没用:
导入com.sap.gateway.ip.core.customdev.util.Message; def消息processData(消息消息){ def body = message.getBody(java.lang.String)as String; 字符串输出= body.replaceAll(" \" false \""," \ $ 1"); message.setBody(output); 返回消息; }
有人可以帮我使用适用于我的常规脚本吗?
感谢您的时间。
阿尼班
嗨Anirban
这是一个Groovy脚本,用于清理JSON。 这样做无需使用正则表达式,并且仅更新需要更新的值。
将脚本添加到"脚本"步骤时,请在"脚本功能"字段中输入 not 。 该字段具有特定目的,没有描述脚本的作用。
给出您的输入,它将产生以下输出:
此致
Morten
Hi Anirban
此转换的工作方式无效 完全清楚。 可能Unit_Price包含一个价格,还是它总是空的,应该用零代替? 数量和Discount_Percent是否可以保留小数? 还是要舍弃小数点分隔符之后的所有内容?
此致
Morten
HI,
请检查 您的正则表达式,并按如下所示进行更改:-
"()" =>将多个标记分组在一起,并创建用于提取子字符串的捕获组。
我尝试了相同的操作,但是没有出现任何错误。
输入:-
输出:
正如 Morten Wittrock 所共享的那样,这是将给定字符串强制转换为 各自的类型。
致谢,
Bibhu
您好,Morten,
Unit_Price将具有一个十进制值,而Discount_Percent和Quantity是整数。 抱歉造成混乱。
此致
Anirban
嗨 Anirban Mallick
看 代码的工作原理,并从那里即兴创作。 您可以使用object.PO来获取PO键。
现在,您真的需要自己尝试和学习。 提示,伙计。
致谢,
莫尔滕
谢谢,比布-您的答案是有效的,而且有效 对我删除了Morten建议的"抄写功能"后,对我来说还是很遗憾,但是我不能接受2个答案。
再次感谢您的时间和支持。
此致
Anirban
一周热门 更多>