¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como converter XML para JSON e obter um array no formato JSON corretamente

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 9 Vistas
0
Cargando...

Olá Especialistas,

Preciso obter um array no formato JSON, mas não consigo fazer isso usando um conversor de XML para JSON. Saída atual:

{"accounts":{"resourceId":"No reply","currency":"SEK","product":"Product","name":"Name","clearingNumber":"CLNum","bban":"Bban","_links":{"balances":"","transactions":""}}}

Saída esperada:

{"accounts":[{"resourceId":"Test","currency":"000","product":"Medlemskonto","name":"000000","clearingNumber":"0000","bban":"00000","_links":{"balances":{"href":"v1/accounts/000000000/balances"},"transactions":{"href":"v1/accounts/000000/transactions"}}}]}
É possível fazer isso usando a opção de streaming, no nó do elemento, mas estou obtendo o array como a tabela não pode estar vazia.
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá vaishali.applicon

Eu não sabia que o conversor padrão permite a conversão personalizada de arrays ao usar a função de Streaming (nunca usei).

Eu testei e parece funcionar bem. Você pode tentar algumas coisas para descobrir se o seu erro pode ser devido a outros problemas?:

- Desmarque "Suprimir elemento raiz JSON"

- Certifique-se de que a configuração do seu namespace esteja correta tanto no conversor quanto no IFlow geral (em Configurações de tempo de execução)

Se ainda não funcionar, por favor forneça seu esquema XSD e a carga de origem de exemplo.

Saudações

Eng Swee

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Eng Swee,

A ocorrência de contas está configurada em 1 é para muitos. Por favor, veja a captura de tela abaixo:

accounts-occurence.png

Configurações que estou tentando fazer no conversor padrão: xmltojsonconverter-setting.png mas o erro é: A tabela não pode conter linhas vazias.

Há algo errado no que estou tentando alcançar?

Atenciosamente,

Vaishali

accounts-occurence.png xmltojsonconverter-setting.png
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Vaishali

Se o seu arquivo XML tiver apenas 1 ocorrência de contas , então o conversor padrão de XML para JSON não irá gerar automaticamente um array JSON para isso. Ele só faz isso quando a ocorrência no XML é mais do que 1.

Se você precisar "forçar" o campo contas ser um array JSON mesmo quando houver apenas 1 elemento dentro dele, então você precisa usar uma conversão personalizada de XML para JSON. Você pode tentar usar o XML2JSONConverter em FormatConversionBean para CPI . O parâmetro arrayFieldList conforme detalhado em este post de blog lhe dá a opção de "forçar" o campo a ser gerado como um array JSON.

Atenciosamente

Eng Swee

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá a todos,

Consegui resolver o problema. Obrigado.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?