Utilizando JSON Schema

Utilizando JSON Schema
Sin comentarios Facebook Twitter Flipboard E-mail

Los conceptos en programación tienden a repetirse por mucho que cambiemos el lenguaje. Hoy se utiliza JSON como formato de intercambio de datos y XML parece más relegado a una segunda posición. Una de las funcionalidades que más se demandan a la hora de intercambiar datos es validar las estructuras de estos. XML dispone de sus XML Schemas y JSON dispone de los JSON Schemas que son relativamente modernos. Vamos a ver un ejemplo de estos.

JSON Schemas

La sintaxis de un JSON Schema define los diferentes campos que una estructura concreta posee :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
  "properties": {
    "nombre": {
      "type": "string",
      "minLength": 3,
      "maxLength" : 20
    },
    "apellidos": {
      "type": "string",
      "minLength": 3,
      "maxLength" : 20
    }
    "edad": {
      "type": "number",
      "description": "edad de la persona",
      "minimum" : 0
    },
  },
  "required": [
    "nombre",
     "apellidos",
    "edad",
    
  ]
}

En este caso se definen tres propiedades (nombre,apellidos,edad) con su diferente tipología. Ademas se obliga a que todas ellas sean obligatorias. Eso implica que una estructura JSON como la siguiente será válida:

1
2
3
4
5
{
    nombre:"juan",
    apellidos:"fernandez",
    edad:20   
}

En cambio las siguientes estructuras no lo serán:

1
2
3
4
5
{
    nombre:20,
    apellidos:"fernandez",
    edad:20   
}
1
2
3
4
5
{
    nombre:"juan",
    apellidos:"fernandez",
 
}

Para validar de forma rápida las estructuras JSON contra sus Schemas podemos usar como herramienta online jsonschemavalidator.

Jsonvalidatorschemaonline

Si necesitamos usar las validaciones a nivel de programación muchas plataformas ya disponen de sus propias librerías (.NET, Java, Javascript).

Comentarios cerrados
Inicio
×

Utilizamos cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información