Guía del esquema JSON

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:

  • Describe el formato de datos que tiene actualmente. 
  • Valida los datos que se pueden utilizar en las pruebas automatizadas. 
  • Asegurar la veracidad de los datos proporcionados por los clientes.  
  • Proporciona documentación legible tanto para humanos como para máquinas. 

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:

Validador JSON libre de errores

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

Validador JSON con error

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:

Ejemplo JSON

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

Resultado del esquema JSON

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.

Los "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.

Los "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:

  • Se utilizan pares de nombre/valor que representan datos.
  • Los objetos se mantienen entre llaves y cada nombre va encabezado por un ':' (dos puntos), con pares de valores separados por “,” (coma).
  • Los valores están separados por “,” (coma) y las matrices se mantienen entre corchetes.
Ejemplo de sintaxis JSON

Las dos estructuras de datos siguientes son compatibles con JSON:

  • Lista ordenada de valores: Puede ser una matriz, una lista o un vector.
  • Colección de pares de nombre/valor: Diferentes lenguajes de programación soportan esta estructura de datos.

 

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.