¡Hola Comunidad!
El otro día vi un artículo sobre el uso del paquete %ZEN
cuando se trabaja con JSON y he decidido escribir un artículo para describir un enfoque más actualizado. Hace no mucho se dio el paso de usar %ZEN.Auxiliary.*
a clases JSON dedicadas. Esto permite trabajar con JSONs de forma más orgánica.
Llegados a este punto hay básicamente 3 clases principales para trabajar con JSON:
%Library.DynamicObject
- proporciona una manera simple y eficiente de encapsular y trabajar con documentos JSON estándar. También nos da la posibilidad de, en vez de escribir el código habitual para crear la instancia de una clase como
set obj = ##class(%Library.DynamicObject).%New()
usar la siguiente sintaxis
set obj = {}
-
%Library.DynamicArray
- proporciona una manera simple y eficiente de encapsular y trabajar con matrices JSON estándar. Con los arrays se puede usar el mismo enfoque que con los objetos, lo que significa que o bien se puede crear una instancia de la clase
set array = ##class(%DynamicArray).%New()
o se puede hacer usando corchetes []
set array = []
%JSON.Adaptor
es una utilidad para mapear objetos de ObjectScript (registrados, serial o persistentes) a textos JSON o entidades dinámicas.