Olá amallick
Confira estes dois artigos se eles ajudarem com suas perguntas agora rapidamente...
https://abusinesstech.com/learn-sap-cpi-groovy-mapping-json-to-xml.html
Avalados por :
Olá Experts,
Eu tenho um payload JSON no seguinte formato...
{
"root": {
"teams": [
{
"VisitFrequencyPerYear": "0",
"UPI": "422511",
"complete": "false"
},
{
"VisitFrequencyPerYear": "0",
"UPI": "421802",
"complete": "false"
}
]
}
}
Mas eu preciso no seguinte formato:
[
{
"VisitFrequencyPerYear": "0",
"UPI": "422511",
"complete": "false"
},
{
"VisitFrequencyPerYear": "0",
"UPI": "421802",
"complete": "false"
}
]
Para conseguir isso, estou usando o seguinte script 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;
}
Mas estou recebendo mensagens de erro como:
Erro na linha: 7
***
org.codehaus.groovy
Olá amallick
Confira estes dois artigos se eles ajudarem com suas perguntas agora rapidamente...
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 que este código não funciona para dois conjuntos de dados em um array? Por favor, ajude.
Obrigado a ambos yoganandamuthaiah e sriprasadshivaramabhat .
Agradeço sinceramente a ajuda de vocês.
Cumprimentos,
Anirban
Olá Anirban,
Adicionar à resposta de Yoga abaixo seria o necessário, eu suponho.
importar com.sap.gateway.ip.core.customdev.util.Mensagem
importar groovy.json.JsonBuilder
importar groovy.json.JsonSlurper
def Mensagem processarDados(Mensagem mensagem) {
def json = mensagem.getCuerpo(java.lang.String)
def jsonSlurper = novo JsonSlurper()
def objeto = jsonSlurper.parseText(json)
def constructor = novo JsonBuilder()
constructor objeto.raiz.equipos.cada {
elemento -> se(elemento.completo == 'falso'){
elemento.eliminar('completo')
}
}
mensagem.setCuerpo(constructor.toPrettyString())
retorno mensagem;
}
Saudações,
Sriprasad Shivaram Bhat
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute