jsonschemaEmpezando con jsonschema


Observaciones

¿Qué es el esquema JSON?

El esquema JSON es un vocabulario que le permite validar, anotar y manipular documentos JSON.

Un esquema JSON es en sí mismo un documento JSON y requiere una biblioteca de terceros para validar los datos en su contra.

Actualmente es un borrador del estándar IETF que permite una expectativa consistente de las implementaciones basadas en la especificación estándar.

Vocabularios

Vocabularios publicados

Vocabularios propuestos que requieren discusión, retroalimentación y revisión

Implementaciones

Una lista de implementaciones se mantiene en el repositorio de GitHub . La lista de idiomas admitidos actualmente incluye validadores para:

ActionScript 3, C, C ++, Clojure, Dart, Erlang, Go, Haskell, Java, JavaScript, .NET, PHP, Perl, Python y Ruby

También hay generadores de UI, analizadores de datos, editores de esquemas, generadores de documentación y soporte IDE.

Esquema de validación de ejemplo básico

{
    "title": "Person",
    "type": "object",
    "properties": {
        "firstName": {
            "type": "string"
        },
        "lastName": {
            "type": "string"
        },
        "age": {
            "description": "Age in years",
            "type": "integer",
            "minimum": 0
        }
    },
    "required": ["firstName", "lastName"]
}

Resultados

// Valid
{
    "firstName": "Jason",
    "lastName": "Voorhees"
}
// Valid
{
    "firstName": "Jason",
    "lastName": "Voorhees",
    "age": 47
}
// Invalid - no lastName
{
    "firstName": "Jason",
    "age": 47
}
// Invalid - age is not integer
{
    "firstName": "Jason",
    "lastName": "Voorhees",
    "age": "47"
}