Hola amallick
revisa estos dos artículos si te ayudan con tus preguntas por ahora rápidamente...
https://abusinesstech.com/learn-sap-cpi-groovy-mapping-json-to-xml.html
Avalados por :
Hello Experts,
Tengo un payload JSON en el siguiente formato...
{
"root": {
"teams": [
{
"VisitFrequencyPerYear": "0",
"UPI": "422511",
"complete": "false"
},
{
"VisitFrequencyPerYear": "0",
"UPI": "421802",
"complete": "false"
}
]
}
}
Pero lo necesito en el siguiente formato:
[
{
"VisitFrequencyPerYear": "0",
"UPI": "422511",
"complete": "false"
},
{
"VisitFrequencyPerYear": "0",
"UPI": "421802",
"complete": "false"
}
]
Para lograr esto, estoy usando el siguiente script de Groovy:
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def body = message.getBody();
body = body.substring(body.indexOf('\n')+19);
def json_to_str=body.substring(1,body.length()-3);
message.setBody(json_to_str);
return message;
}
Pero estoy recibiendo mensajes de error como:
Error at line: 7
***
org.codehaus.groovy
Hola amallick
revisa estos dos artículos si te ayudan con tus preguntas por ahora rápidamente...
https://abusinesstech.com/learn-sap-cpi-groovy-mapping-json-to-xml.html
{
"root": [{
"teams": [
{
"VisitFrequencyPerYear": "0",
"UPI": "422511",
"complete": "false"
},
{
"VisitFrequencyPerYear": "0",
"UPI": "421802",
"complete": "false"
}
]
} ]}
¿Por qué este código no funciona para dos conjuntos de datos en un array? Por favor ayuda.
Gracias a ambos yoganandamuthaiah y sriprasadshivaramabhat .
Realmente aprecio su ayuda.
Saludos,
Anirban
Hola Anirban,
Agregar a la respuesta de Yoga abajo haría lo necesario, supongo.
importar com.sap.gateway.ip.core.customdev.util.Mensaje
importar groovy.json.JsonBuilder
importar groovy.json.JsonSlurper
def Mensaje procesarDatos(Mensaje mensaje) {
def json = mensaje.getCuerpo(java.lang.String)
def jsonSlurper = nuevo JsonSlurper()
def objeto = jsonSlurper.parseText(json)
def constructor = nuevo JsonBuilder()
constructor objeto.raíz.equipos.cada {
elemento -> si(elemento.completo == 'falso'){
elemento.eliminar('completo')
}
}
mensaje.setCuerpo(constructor.toPrettyString())
retorno mensaje;
}
Saludos,
Sriprasad Shivaram Bhat
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute