Like #3 but add a little change to process correctly all parsed objects.
El método item ahora tendría mayor relevancia que una propiedad item. De ese modo el método siempre está disponible, y no se oculta bajo ningún caso, aún cuando se parsea un objeto que tenga la propiedad item. Si en un código específico se necesita acceder a una propiedad item, entonces se necesitaría usar el método item:
result = JSON.parse('{"item": {"count": 1}, "nums":[1000,2000],"$order": 1}')
* acceder a la propiedad item
?m.result.item["item"]
* mostraría 1
?m.result.item["item"].count
* acceder a propiedades no válidas en VFP
?m.result.item["$order"]
* los arrays se pueden acceder también con item (mostraría 1000)
?m.result.nums.item[0]
Aclaración que este código no afecta ningún otro funcionamiento, y aún se puede acceder a los array usando el comando FOREACH de VFP.
Con este cambio, se puede decir que la librería serviría tanto para acceder a propiedades comunes, como acceder a propiedades no válidas, y manteniendo un excelente rendimiento ya que no involucra creación de objetos en VFP.
En dado caso @vespina creo que tu idea de normalizar los objetos desde el lado de VFP, podrías añadirlo también y que quede como un parámetro opcional. Por ahora mi contribución sería del lado javascript para mantener el rendimiento. Igual te comento que en VFP las colecciones usan el método item y por eso mismo escogí este nombre para el código que hice, para que se use de manera similar.
Like #3 but add a little change to process correctly all parsed objects.
El método
item
ahora tendría mayor relevancia que una propiedad item. De ese modo el método siempre está disponible, y no se oculta bajo ningún caso, aún cuando se parsea un objeto que tenga la propiedad item. Si en un código específico se necesita acceder a una propiedaditem
, entonces se necesitaría usar el métodoitem
:Aclaración que este código no afecta ningún otro funcionamiento, y aún se puede acceder a los array usando el comando FOREACH de VFP. Con este cambio, se puede decir que la librería serviría tanto para acceder a propiedades comunes, como acceder a propiedades no válidas, y manteniendo un excelente rendimiento ya que no involucra creación de objetos en VFP.
En dado caso @vespina creo que tu idea de normalizar los objetos desde el lado de VFP, podrías añadirlo también y que quede como un parámetro opcional. Por ahora mi contribución sería del lado javascript para mantener el rendimiento. Igual te comento que en VFP las colecciones usan el método
item
y por eso mismo escogí este nombre para el código que hice, para que se use de manera similar.Saludos.