Hola a todos,
Tengo un requisito para convertir el tipo de datos de cadena a tipo de datos entero si el campo tiene un número entero, de lo contrario, si el campo tiene un valor de cadena, pasarlo tal cual.
Por ejemplo, tengo la carga útil
Para el campo "PurReqnSSPCatalogForEdit" tengo un valor entero. Necesito convertirlo de cadena a entero.
He escrito el siguiente script groovy para esto
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import groovy.json.*
def Message processData(Message message) {
//Cuerpo
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;
}
Pero si el campo "PurReqnSSPCatalogForEdit" tiene un valor de cadena, analícelo tal cual. ¿Cuál es la condición que debo agregar al script groovy anterior para lograr esto? Por favor, proporcione una solución para ello
Gracias,
Vineetha.
image.png