Altova XMLSpy 2024 Professional Edition 

Al igual que los esquemas XML especifican la estructura y el contenido de un documento XML, los esquemas JSON especifican cómo se organizan los datos JSON en un documento JSON. Es decir, especifica qué campos de datos deben aparecer y cómo se representan los valores. Aquí puede consultar la especificación JSON Schema y obtener más información sobre la misma.

 

Un esquema JSON es un objeto JSON en sí mismo. El esquema entero está entre llaves, que son lo delimitadores de los objetos JSON. Los esquemas están escritos en sintaxis JSON y se suelen guardar con la extensión de archivo .json. Además, se sabe que es un esquema JSON porque la primera palabra clave del objeto de nivel superior del documento es \$schema. Esta palabra clave debe tener uno de estos valores:

 

En las versiones hasta el borrador draft-07: "http://json-schema.org/draft-N/(hyper-)schema#", donde N es el número de la versión (04, 06 o 07).

Versions from draft-2019-09 onwards: "https://json-schema.org/draft/YYYY-MM/(hyper-)schema", donde YYYY y MM son, respectivamente, el año y el mes del borrador, por ejemplo, 2019-09.

 

Este es un ejemplo de cómo se usa la palabra clave \$schema.

{

   "\$schema": "https://json-schema.org/draft/2020-12/schema",

   ...

}

 

Nota:aunque la palabra clave \$schema puede tener el valor "http://json-schema.org/schema#", que especifica la última versión del esquema, es mejor utilizar una URL que identifique la versión concreta. Para más información consulte también el apartado Versión del esquema JSON.  

 

 

En XMLSpy puede crear esquemas JSON de forma gráfica en la vista Esquema JSON, tal y como explicamos en la sección Vista Esquema JSON de este manual Además de múltiples funciones de edición, la vista Esquema JSON ofrece estas funciones para trabajar con esquemas:

 

Validación con el validador JSON de XMLSpy: asigne un esquema JSON al documento de instancia y compruebe su validez desde XMLSpy. Consulte el apartado Validar documentos JSON para obtener más información.

Configurar las opciones de validación JSON.

Generar esquemas JSON a partir de instancias JSON: si ya tiene un documento de instancia JSON, puede usarlo para generar un esquema JSON.

Conversión de datos JSON en XML y viceversa: puede convertir documentos de un formato al otro.

 

Terminología

A continuación puede consultar la definición de los términos de esquemas JSON más utilizados en la interfaz gráfica y en este manual.

 

Término

Definición

Esquema

Objeto de esquema de nivel superior del documento de esquema JSON.

Objeto

Un tipo JSON que contiene cero o más propiedades.

Propiedad

Un par clave:valor de un objeto. Su valor puede ser cualquier tipo de datos JSON.

Palabra clave

La parte clave del par clave:valor de un objeto. Siempre es una cadena de texto.

Subesquema

Un objeto secundario de un operador o una dependencia.

Definición

Descripción completa de cualquier tipo JSON. Las definiciones pueden ser globales o locales.

Matriz

Una lista ordenada y separada por comas de cero o más ítems de cualquier tipo de datos JSON.

Tipos atómicos

Los tipos de datos JSON string, number, integer, boolean y null

Selectores de tipo

Los tipos any y multiple, que seleccionan cualquier tipo o varios tipos respectivamente.

Operadores

Selectores de repetición que se pueden añadir como secundarios de las definiciones. Consulte el apartado Operadores para obtener más información.

 

Tipos de datos JSON

Los ítems de las matrices y los valores de las propiedades de los objetos pueden tener estos tipos:

 

string (cadena, que debe ir entre comillas). Además las cadenas pueden tener un formato concreto, como el formato date-time o email

number: un número con una parte fraccionaria. Incluye números enteros

integer:: un número sin parte fraccionaria. Se trata de un subconjunto del tipo number.

boolean (true/false, no debe ir entre comillas)

object: si se utiliza dentro de otro objeto, este tipo permite anidar datos

array: array: permite generar estructuras más complejas de las que permiten los objetos

null (null, no debe ir entre comillas)

 

© 2017-2023 Altova GmbH