Olá a todos,
Tenho um requisito para converter o tipo de dados de string para tipo de dados inteiro se o campo contiver um número inteiro, caso contrário, se o campo contiver um valor de string, passá-lo como está.
Por exemplo, tenho a carga útil
Para o campo "PurReqnSSPCatalogForEdit" tenho um valor inteiro. Preciso convertê-lo de string para inteiro.
Escrevi o seguinte script groovy para isso
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import groovy.json.*
def Message processData(Message message) {
//Corpo
def jsonOP = message.getBody(String.class);
jsonOP=jsonOP.toString()
def json_to_str="{\"Element\":["+jsonOP+"]}"
def jsonSlurper = new JsonSlurper();
def list = jsonSlurper.parseText(json_to_str);
list.Element.each{
it.EmployeeForEdit.toString()
it.BusinessObjectTypeForEdit.toString()
it.PurReqnSSPCatalogForEdit=Integer.parseInt(it.get("PurReqnSSPCatalogForEdit").toString());
}
def jsonlist = JsonOutput.toJson(list);
def jsonObject = jsonSlurper.parseText(jsonlist);
def removerootnode = JsonOutput.toJson(jsonObject["Element"]);
def removebraket = removerootnode.replace("[","");
def removeendbraket = removebraket.replace("]","");
message.setBody(removeendbraket);
return message;
}
Mas se o campo "PurReqnSSPCatalogForEdit" tiver um valor de string, analise-o como está. Qual é a condição que devo adicionar ao script groovy acima para conseguir isso? Por favor, forneça uma solução para isso
Obrigada,
Vineetha.
image.png