¿Cómo copiar valores de un array JSon a objeto utilizando DTL?
Hola comunidad
Necesito crear una DTL para obtener desde un JSon (% DynamicObject) a una clase.
Los primeros elementos se copian bien, sin embargo, cuando intenta obtener los valores de un array, genera un error.

{
"resultado": "OK",
"retorno": {
"mensaje": "Info recuperado correctamente",
"datos": {
"idUsuario": "ID-88556",
"fechanacimiento": "1970-02-01",
"nombreUsuario": "FRANCISCO",
"apellidosUsuario": "LOPEZ",
"polizas": {
"poliza": [
{
"sucursal": "MAD",
"oficina": "01",
"poliza": "12345678",
},
{
"sucursal": "BCN",
"oficina": "34",
"poliza": "99556151",
}
]
}
}
}
}Cuando la DTL obtiene el array "poliza", se produce el siguiente error.
ERROR <Ens>ErrException: <INVALID OREF>zTransform+16^MyApp.DT.JsonToPoliciesResponse.1 -- - registrado como '-' número - @' Set k1=source.retorno.datos.polizas.poliza.Next(k1)'
¿Hay alguna forma de crear un "bucle", "for each" o algo para iterar?
Un saludo,
Francisco lopez
Comentarios (1)2
Comments
Hola Francisco,
¿Podría servir añadir una acción de código y dentro de éste iterar en el objeto con un %GetNext y guardar en el objeto target el valor devuelto?
Algo parecido a este ejemplo en la sección "Iterating over an object":
https://irisdocs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Pag…