Outro dia, vi um artigo sobre o uso do pacote %ZEN
ao trabalhar com JSON e decidi escrever um artigo descrevendo uma abordagem mais moderna. Recentemente, houve uma grande mudança no uso de %ZEN.Auxiliary.*
para as classes JSON dedicadas. Isso permitiu o trabalho mais orgânico com JSONs.
Portanto, há basicamente 3 classes principais para trabalhar com o JSON:
%Library.DynamicObject
- oferece uma maneira simples e eficiente de encapsular e trabalhar com documentos JSON padrão. Além disso, há outra possibilidade além de escrever o código habitual para criar a instância de uma classe desta maneira
set obj = ##class(%Library.DynamicObject).%New()
É possível usar a seguinte sintaxe
set obj = {}
-
%Library.DynamicArray
- oferece uma maneira simples e eficiente de encapsular e trabalhar com arrays JSON padrão. Com arrays, é possível usar a mesma abordagem com objetos, ou seja, você pode criar uma instância da classe
set array = ##class(%DynamicArray).%New()
Ou fazer isso usando colchetes []
set array = []
-
%JSON.Adaptor
é uma maneira de mapear objetos do ObjectScript (registrado, serial ou persistente) para entidades dinâmicas ou texto JSON.