4D v16.3

Presentación de comandos JSON

Inicio

 
4D v16.3
Presentación de comandos JSON

Presentación de comandos JSON  


 

 

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.

La sintaxis JSON está basada en los siguientes principios:

  • los datos consisten en pares de nombre/valor,
  • los datos están separados por comas,
  • los objetos están definidos por corchetes {},
  • los arrays están definidos por corchetes [ ].

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.

Los siguientes tipos de valores son soportados en JSON:

TipoDescripciónComentarios
cadenaTodo carácter Unicode excepto " y \
Los valores, como los nombres de propiedades, están entre comillas ("), por ejemplo, "city":"París"
\ se utiliza para los caracteres de control:
\" = comillas
\\ = barra oblicua inversa
\/ =  barra
\b = tecla de retroceso
\f = formfeed
\n = retorno de línea
\r = retorno de carro
\t = tabulación
\u = cuatro cifras hexadécimales
númeroEntero o número de punto flotanteNúmero similar a C o a Java, excepto que los formatos octal y hexadecimal no se utilizan
objeto{ }
array[ ]
booleanotrue o false
nulonull

Los objetos JSON se definen con corchetes y pueden contener un número indefinido de pares nombre/valor, por ejemplo:

{ "firstName":"John" , "lastName":"Doe" }

Los objetos JSON se pueden almacenar y manipular en 4D por medio de variables objeto (C_OBJECT) y campos.

Los arrays JSON se definen con corchetes. Cada array puede contener un número indefinido de objetos:

{
    "employees": [
        { "nombre":"Juan" , "apellido":"Pérez" },
        { "nombre":"Ana" , "apellido":"Gómez" },
        { "nombre":"Pedro" , "apellido":"Gónzalez" }
    ]
}

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.

Para más información sobre cómo convertir fechas 4D/JSON, consulte Conversión de fechas JavaScript.



Ver también 

Objetos (Lenguaje)

 
PROPIEDADES 

Producto: 4D
Tema: JSON

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)