Los comandos JSON permiten generar y analizar los objetos de lenguaje de formato JSON. Más particularmente, el formato JSON hace que sea posible el acceso a las bases 4D (datos y estructura) utilizando un navegador web.
El soporte de objetos estructurados es una de las grandes novedades del lenguaje de 4D v14, destinado a facilitar el intercambio de datos estructurados. Gracias a los comandos del tema "JSON", 4D pueden trabajar directamente con objetos JSON. Sin embargo, 4D también puede trabajar con objetos "nativos" (cuya estructura se inspira en JSON), lo que permite el intercambio con todos los tipos de lenguaje. Para más información, consulte el capítulo Objetos (Lenguaje).
"JSON o JavaScript Object Notation es un formato de datos basado en texto, genérico, derivado de la notación de los objetos del lenguaje ECMAScript." (fuente: Wikipedia). JSON es independiente de cualquier otro lenguaje, pero utiliza las convenciones que son familiares para los programadores que utilizan C++ o JavaScript, Perl, etc. Es un formato que es particularmente adecuado para el intercambio de datos.
Esta sección resume los principios de notación implementados en JSON. Para una descripción completa de este formato, consulte el siguiente sitio: www.json.org/index.html.
Los datos JSON se expresan en forma de pares nombre/valor (o llave/valor). Un par nombre/valor contiene un nombre de campo (entre comillas), luego dos puntos, seguido de un valor. Por ejemplo:
"Nombre":"Juan"
Para su información, este ejemplo equivale en JavaScript:
Nombre="Juan"
Tenga en cuenta que los nombres de propiedades son diacríticos y tienen en cuenta las mayúsculas y minúsculas. Si escribe "Nombre" en lugar de "nombre", obtiene un nuevo par nombre/valor.
Por defecto, cuando se convierten datos 4D desde JSON, se tiene en cuenta la zona horaria de la máquina en la que la conversión se lleva a cabo (de conformidad con JavaScript). Por ejemplo, en Francia (GMT+2), la conversión de !23/08/2013! da "2013-08-22T22:00:00Z" y viceversa.
Puede cambiar este funcionamiento y no tener en cuenta la zona horaria, durante la implementación de los procedimientos de exportación, por ejemplo, utilizando el comando SET DATABASE PARAMETER.