Seguro que hay todavía mucho %ZEN.proxyObject
por ahí. ¡¡Nunca es tarde si la dicha es buena!!
La única precaución es que %ZEN.proxyObject
es una clase de sistema... Si la modificamos, hay que preservarla en las actualizaciones y validar que no haya cambiado o hacer un merge... de otro modo perderemos los cambios nuestros o las correcciones de producto.
Por "IRIS-izarlo" un poco... aunque no tan automático como lo que presentas, podemos también alterar temporalmente los tipos en los %Library.DynamicObject
.
set obj = {} set objB = {} set objB.phone = 961000000 set obj.phone = 91001001 set obj.nombre = "Luis" set obj.objetoB = objB set orig = obj.%GetSerial() //si queremos preservar el valor original do obj.%Set("phone",obj.phone,"string") do objB.%Set("phone",objB.phone,"string") do obj.%ToJSON() set obj = obj.%SetSerial(orig) //para volver al objeto JSON original do obj.%ToJSON()
Resultado:
{"phone":"91001001","nombre":"Luis","objetoB":{"phone":"961000000"}} {"phone":91001001,"nombre":"Luis","objetoB":{"phone":961000000}}
Igual sería interesante ver todas las posibilidades de formateo de las antiguas clases %ZEN y ver si están cubiertas por %Dynamic*
, %JSON.Adaptor
y %JSON.Formatter
,... y, si no,... pues igual toca funcionalidad nueva en OpenExchange! :
El material online de eLearning de InterSystems no deja de mejorar. Cierto que viene con subtítulos, pero si aún así prefieres material en español, también tienes el curso on-line que preparé hace algo más de un año, aquí.







Yo creo que en el Kahoot hubo hasta codazos!!
La verdad es que estuvo genial poder compartir experiencias y sobre todo vernos después de casi 3 años... y las exposiciones super interesantes... personalmente me quedé con ganas de más... y los que exponían ya ni hablamos (David Cano y Carlos Fernández de Roche y Florencio López y Mario del Pozo por Arisnova)... yo creo que si no los paran aún seguían. 
Estuvo genial. A ver si repetimos.