SAP Cloud Integration Groovy脚本将JSON字符串转换为整数

2020-08-22 06:42发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我需要将JSON文件发送给贸易伙...

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

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


我需要将JSON文件发送给贸易伙伴。 作为此要求的一部分,需要将一个字段从字符串转换为整数。 当填充字段时,我可以正常工作,但是在大多数情况下,不会填充该字段,因此它不会存在于JSON文件中。 我试图关注此博客: http://saphcidemo.blogspot.com/2017/10/json-code-for-conversion-of-string-to.html 。 我当前遇到的问题是,当我向脚本中添加if(jsonDataObject.assignedTo!= null)语句时,我在尝试调用com.sap方法时收到错误:java.lang.NullPointerException: 从本地变量"结果"加载的空对象的.gateway.ip.core.customdev.util.Message.getBody()

这是我正在使用的脚本:

导入com.sap.gateway.ip.core.customdev.util.Message;

导入groovy.json。*

def消息processData(消息消息)

{

def jsonbody = message.getBody(java.lang.String)as String;

def jsonSlurper = new JsonSlurper();

def jsonDataObject = jsonSlurper.parseText(jsonbody);

//将JSON字符串转换为Int

//如果(jsonDataObject.check_transaction_code!= null){

jsonDataObject.check_transaction_code = convertToInt(jsonDataObject.check_transaction_code);

//整数转换

message.setBody(new JsonBuilder(jsonDataObject).toString());

返回消息;

//}

}

静态对象convertToInt(对象inputValue){

if(inputValue.isNumber()){

返回inputValue.toInteger();

}其他{

返回inputValue;

}

}

有人能告诉我我要去哪里错吗?

7条回答
Bunny_CDM
2020-08-22 07:21

嗨,Sirprasad,

我尝试了您提供的脚本,但出现以下错误。

java.lang.NoSuchMethodException:方法groovy.json.internal.LazyMap没有签名。 适用于参数类型:

请帮忙。

此致

阿克斯(Akshay)

一周热门 更多>