Icono del sitio GranizoBytes

Guía del esquema JSON

Esquema JSON

Guía del esquema JSON

Antes de entrar en JSON Schema, es importante conocer la diferencia entre JSON y JSON Schema.

JSON

JSON es la abreviatura de JavaScript Object Notation, y es un formato de datos independiente del idioma que utilizan las API para enviar solicitudes y respuestas. JSON es fácil de leer y escribir tanto para personas como para máquinas. JSON es un formato basado en texto que no está vinculado al idioma (independiente del idioma).

Esquema JSON

JSON Schema es una herramienta útil para verificar la estructura de datos JSON. Para especificar la estructura de JSON, utilice un formato basado en JSON. Su propósito es garantizar que los datos JSON sean aceptables. La convención para los datos JSON de nuestra aplicación se puede definir usando schema.

Hay tres secciones principales en la especificación del esquema JSON:

Hiperesquema JSON:

JSON Hyper-Schema es un lenguaje de esquema JSON que se puede usar para etiquetar documentos JSON con hipervínculos e instrucciones para procesar y cambiar recursos JSON externos a través de entornos basados ​​en texto como HTTP. Hacer clic esta página para obtener más información sobre JSON Hyper-Schema.

Núcleo del esquema JSON:

Es un conjunto de reglas para etiquetar y validar documentos JSON. 

Núcleo del esquema JSON:

Validación del esquema JSON:

La validación basada en JSON Schema impone límites en la estructura de los datos de instancia. Después de eso, cualquier palabra clave que no tenga aserción información, como metadatos descriptivos e indicaciones de uso, se agregan a una posición de instancia que cumple con todas las restricciones declaradas. 

La herramienta JSON Schema Validator de Newtonsoft es una herramienta que puede usar directamente en su navegador, de forma gratuita. Puede usar esta herramienta para probar la estructura de su esquema JSON. Esta página contiene controles y explicaciones para que pueda comenzar. De esa manera, es fácil ver cómo mejorar su estructura JSON.

Podemos verificar nuestro objeto JSON usando la herramienta de validación de esquemas JSON:


Tenemos validación de edad (mínimo = 20 y máximo = 40) como se muestra en la figura anterior. No se encontraron errores.

Mostraba un error si la validación de edad se ingresaba incorrectamente.

La creación de un esquema JSON

Veamos un ejemplo de JSON Schema para ver de qué estamos hablando. Un objeto JSON básico que describe un catálogo de productos es el siguiente:

Su esquema JSON podría escribirse de la siguiente manera:

Un esquema JSON es un documento JSON, y ese documento DEBE ser un objeto. Las palabras clave son miembros/atributos de objetos especificados por el esquema JSON. Las "palabras clave" en el esquema JSON se refieren a la parte "clave" de una combinación clave/valor en un objeto. Escribir un esquema JSON implica asignar una "palabra clave" particular a un valor dentro de un objeto en su mayor parte. 

Echemos un vistazo más de cerca a las palabras clave que usamos en nuestro ejemplo: 

El esquema JSON con el que cumple el esquema del recurso se escribe mediante este atributo. Este esquema está escrito siguiendo el estándar drafts v4, como se especifica en el "$ esquema” palabra clave. Esto evita que su esquema vuelva a la versión actual, que puede o no ser compatible con versiones anteriores.

La "título y descripción” las palabras clave son solo explicativas; no imponen ninguna limitación a los datos que se comprueban. Estas dos palabras clave describen el propósito del esquema: describe un producto.

La "tipo” palabra clave define la primera condición límite de nuestros datos JSON; debe ser un objeto JSON. Si no configuramos el tipo para todos los esquemas, el código no funcionaría. Algunos tipos comunes son “número”, “booleano”, “entero”, “nulo”, “objeto”, “matriz”, “cadena”.

JSON Schema es compatible con las siguientes bibliotecas:

Idioma Biblioteca
C Elemento WJE
Python jschon
PHP Opis Esquema Json
JavaScript ajv
Go esquema de gojson
Kotlin validador de medeia
Rubí JSONSchemer

JSON (Sintaxis)

Echemos un breve vistazo a la sintaxis fundamental de JSON. La sintaxis JSON es un subconjunto de la sintaxis JavaScript que incluye los siguientes elementos:

Las dos estructuras de datos siguientes son compatibles con JSON:

JSON (Objeto)

Un esquema JSON es un objeto JSON que describe el tipo y la estructura de un objeto JSON diferente. Una expresión de objeto de JavaScript puede representar un objeto JSON en entornos de tiempo de ejecución de JavaScript. Algunos ejemplos de objetos de esquema válidos son los siguientes:

Esquema Cerillas
{} algún valor
{ tipo: 'objeto' } un objeto JavaScript
{ teclea un número' } un número JavaScript
{ tipo: 'cadena'} una cadena JavaScript

P.ej:

Haciendo un nuevo objeto que está vacío:

varJSON_Obj = {};

Creación de nuevos objetos:

var JSON_Obj = nuevo objeto()

JSON (Comparación con XML)

JSON y XML son formatos legibles por humanos independientes del lenguaje. En escenarios del mundo real, pueden crear, leer y decodificar. Según los siguientes criterios, podemos comparar JSON con XML.

Complejidad

Debido a que XML es más complejo que JSON, los programadores prefieren JSON.

Uso de matrices

XML se utiliza para expresar datos estructurados; sin embargo, XML no admite matrices, pero JSON sí.

Parsing

JSON se interpreta usando la función eval de JavaScript. eval devuelve el objeto descrito cuando se usa con JSON.

Ejemplo:

JSON XML
{

   “empresa”: Ferrari,

   “nombre”: “GTS”,

   “precio”: 404000

}

 

ferrari 

GTS 

404000 

Ventajas del esquema JSON

JSON está diseñado para desviarse en un lenguaje legible por humanos y máquinas. Sin embargo, sin algunos ajustes, no puede ser ninguna de las dos cosas. JSON Schema tiene la ventaja de hacer que JSON sea más comprensible tanto para las máquinas como para los humanos.

El uso de JSON Schema también elimina la necesidad de varias actualizaciones del lado del cliente. Hacer una lista de códigos HTML comunes y luego implementarlos en el lado del cliente es un método típico pero inexacto para construir código del lado del cliente. API aplicaciones Sin embargo, esta no es la mejor estrategia porque los cambios en el lado del servidor pueden causar que ciertas funcionalidades no funcionen correctamente.

La principal ventaja de JSON Schema es su compatibilidad con una variedad de lenguajes de programación, así como la precisión y consistencia de la validación.

El esquema JSON es compatible con una amplia gama de navegadores y sistemas operativos, por lo tanto, las aplicaciones escritas en JSON no requieren mucho esfuerzo para que sean compatibles con todos los navegadores. Durante el desarrollo, los desarrolladores consideran varios navegadores, aunque JSON ya tiene las capacidades.

JSON es la forma más eficiente de compartir datos de cualquier tamaño, incluidos audio, video y otros medios. Esto se debe al hecho de que JSON almacena datos en matrices, lo que facilita la transmisión de datos. Como resultado, JSON es el mejor formato de archivo para desarrollo y API en línea.

A medida que las API se vuelven más comunes, es lógico suponer que la validación y las pruebas de API serán cada vez más importantes. También es realista esperar que JSON no se vuelva mucho más simple a medida que pasa el tiempo. Esto implica que tener un esquema para sus datos solo se volverá más crítico a medida que pase el tiempo. Debido a que JSON es el formato de archivo estándar para trabajar con API, JSON Schema es un buen sustituto para aquellos que trabajan con API.

Salir de la versión móvil