Saludos comunidad,
He actualizado el repositorio de la librería JSONFox con la versión 4 ya que he refactorizado el 80% de su core mejorando su rendimiento.
También he extendido la funcionalidad de 2 métodos haciéndolos más flexibles a la hora de analizar el formato JSON, dichos métodos son:
1. Parse: toma cualquier entrada JSON válida y la convierte a su tipo equivalente para Visual foxpro. Ejemplo:
?_screen.json.parse('true') && .T.
?_screen.json.parse('null') && .NULL.
?_screen.json.parse('1985') && 1985
2. JSONToCursor: sigue requiriendo un
JSON array pero esta vez permite disparidad en sus elementos. Este método es capaz de reconocer todos los elementos que conforman el array y en caso de disparidad puede mezclarlos para formar una sola estructura.
Ejemplo: dado el siguiente array:
[
{
"name": "John",
"age": 48,
"married": true
},
{
"name": "Peter"
},
{
"name": "Bill"
}
]
JSONToCursor detectaría que las columnas serían "name, age, married" con sus respectivos tipos (Character, Numeric, Boolean) por lo tanto el cursor final tendrá estas columnas y en las filas donde no exista información (Peter y Bill) rellenará con el valor por defecto relacionado con su tipo (Vacío para Character, 0 para Numeric, etc).
Todas las columnas son anulables por si existen registros en 'null' ejemplo:
{
"name": "Patrick",
"age": null
}
En este caso la columna "age" permitiría valores nulos dado que el elemento "age" de Patrick tiene ausencia de valor.
¡Felices fiestas!