¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo convertir XML a JSON y obtener un array en formato JSON correctamente

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

Hola Expertos,

Necesito obtener un array en formato JSON, pero no puedo lograrlo usando un convertidor de XML a JSON. Salida actual:

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

salida 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"}}}]}
¿Se puede lograr esto usando la opción de streaming, en el nodo del elemento pero estoy obteniendo el array como la tabla no puede estar vacía.
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola vaishali.applicon

No estaba al tanto de que el convertidor estándar permite la conversión personalizada de arrays al usar la función de Streaming (nunca lo he usado).

Lo probé y parece funcionar bien. ¿Puedes intentar algunas cosas para averiguar si tu error podría deberse a otros problemas?:

- Desmarca "Suprimir elemento raíz JSON"

- Asegúrate de que la configuración de tu espacio de nombres sea correcta tanto en el convertidor como en el IFlow general (en Configuración de tiempo de ejecución)

Si aún no funciona, por favor proporciona tu esquema XSD y la carga de origen de muestra.

Saludos

Eng Swee

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

Hola Eng Swee,

La ocurrencia de cuentas está configurada en 1 es a muchos. Por favor, vea la captura de pantalla a continuación:

accounts-occurence.png

Configuraciones que estoy intentando hacer en el convertidor estándar: xmltojsonconverter-setting.png pero el error es: La tabla no puede contener filas vacías.

¿Hay algo mal en lo que estoy intentando lograr?

Saludos cordiales,

Vaishali

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

Hola Vaishali

Si tu carga XML tiene solo 1 ocurrencia de cuentas , entonces el convertidor estándar de XML a JSON no generará automáticamente un array JSON para ello. Solo lo hace cuando la ocurrencia en el XML es más de 1.

Si necesitas "forzar" que el campo cuentas sea un array JSON incluso cuando solo hay 1 elemento dentro de él, entonces necesitas usar una conversión personalizada de XML a JSON. Puedes probar usando XML2JSONConverter en FormatConversionBean para CPI . El parámetro arrayFieldList como se detalla en esta publicación de blog te brinda la opción de "forzar" que el campo se genere como un array JSON.

Saludos

Eng Swee

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

Hola a todos,

Pude resolver el problema. Gracias.

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?