# Validador de JSON Schema

Valida datos JSON contra un JSON Schema para verificar estructura y tipos de datos

> Página canónica: https://elysiatools.com/es/tools/json-schema-validator

- **Categoría:** Validation

- **Palabras clave:** json, schema, validador, validación, estructura, datos, formato

## Descripción general

# Validador de JSON Schema

## Resumen

JSON Schema Validator es una herramienta poderosa para validar datos JSON contra esquemas predefinidos. Asegura que sus datos JSON se ajusten a estructuras esperadas, tipos de datos y restricciones.

## Características

### Palabras clave de JSON Schema admitidas

- **type**: Valida el tipo de datos (string, number, integer, boolean, array, object, null)
- **properties**: Define esquemas de propiedades de objetos
- **required**: Especifica propiedades de objeto requeridas
- **additionalProperties**: Controla si se permiten propiedades adicionales
- **items**: Define esquemas de elementos de matriz (esquema único o validación de tupla)
- **minItems / maxItems**: Establece restricciones de longitud de matriz
- **uniqueItems**: Requiere que todos los elementos de la matriz sean únicos
- **enum**: Restringe valores a un conjunto específico
- **const**: Requiere un valor constante exacto
- **minimum / maximum**: Establece restricciones de rango numérico
- **exclusiveMinimum / exclusiveMaximum**: Límites numéricos exclusivos
- **multipleOf**: Requiere que los valores sean múltiplos de un número
- **minLength / maxLength**: Establece restricciones de longitud de cadena
- **pattern**: Valida cadenas contra patrones regex
- **format**: Valida formatos integrados (email, uri, etc.)
- **allOf**: Los datos deben coincidir con todos los subesquemas
- **anyOf**: Los datos deben coincidir con al menos un subesquema
- **oneOf**: Los datos deben coincidir con exactamente un subesquema
- **$ref**: Referencia a otro esquema (soporte básico)

## Ejemplo de Uso

### Validación básica de objetos

**Datos JSON:**
```json
{
  "nombre": "Juan",
  "edad": 30,
  "email": "juan@ejemplo.com"
}
```

**JSON Schema:**
```json
{
  "type": "object",
  "properties": {
    "nombre": { "type": "string", "minLength": 1 },
    "edad": { "type": "integer", "minimum": 0, "maximum": 150 },
    "email": { "type": "string", "format": "email" }
  },
  "required": ["nombre", "edad"]
}
```

### Validación de matriz

**Datos JSON:**
```json
{
  "etiquetas": ["javascript", "typescript", "vue"]
}
```

**JSON Schema:**
```json
{
  "type": "object",
  "properties": {
    "etiquetas": {
      "type": "array",
      "items": { "type": "string" },
      "minItems": 1,
      "uniqueItems": true
    }
  }
}
```

## Versiones de JSON Schema admitidas

- draft-04
- draft-06
- draft-07
- 2019-09
- 2020-12

## Entradas

- **Datos JSON** (textarea): Ingrese datos JSON para validar (ej: {"name": "Juan", "age": 30})...
- **JSON Schema** (textarea): Ingrese JSON Schema (ej: {"type": "object", "properties": {...}})...

## Cuándo usarlo

- Al depurar las respuestas de una API REST para asegurar que cumplen con el contrato de datos establecido.
- Durante la creación y prueba de archivos de configuración complejos basados en JSON.
- Para validar la estructura de payloads de entrada en sistemas de integración antes de procesar la información.

## Cómo funciona

- Introduce el documento de datos JSON que deseas validar en el campo de datos de entrada.
- Pega el JSON Schema que define las reglas, tipos de datos y campos requeridos en el campo del esquema.
- La herramienta analiza la estructura y evalúa las restricciones como tipos, formatos y propiedades obligatorias.
- Obtén un reporte inmediato que confirma la validez de los datos o detalla los errores de coincidencia encontrados.

## Casos de uso

- Validación de payloads de solicitudes HTTP en entornos de desarrollo de APIs.
- Verificación de archivos de configuración de aplicaciones para evitar errores de sintaxis o tipos en producción.
- Control de calidad de conjuntos de datos JSON exportados desde bases de datos NoSQL.

## Preguntas frecuentes

### ¿Qué versiones de JSON Schema soporta este validador?

Soporta las versiones draft-04, draft-06, draft-07, 2019-09 y 2020-12.

### ¿Puedo validar formatos específicos como correos electrónicos o URIs?

Sí, la herramienta admite la validación de formatos integrados mediante la palabra clave 'format', incluyendo email y uri.

### ¿Qué ocurre si mi JSON contiene propiedades adicionales no definidas?

Si el esquema define 'additionalProperties' como falso, la herramienta marcará esas propiedades adicionales como errores de validación.

### ¿Es posible validar la unicidad de los elementos en un arreglo?

Sí, utilizando la propiedad 'uniqueItems' establecida en verdadero dentro del esquema del arreglo.

### ¿Cómo se manejan las referencias en el esquema?

La herramienta ofrece soporte básico para la palabra clave '$ref' para hacer referencia a definiciones internas o externas del esquema.

## Herramientas relacionadas

- [ID Card Validator](https://elysiatools.com/es/tools/id-card-validator): Validate and analyze ID card numbers from various countries with detailed breakdown (JSON output)
- [Convertidor BSON](https://elysiatools.com/es/tools/bson-converter): Codifica y decodifica datos hacia/desde formato BSON (Binary JSON)
- [CSON a JSON](https://elysiatools.com/es/tools/cson-to-json): Convierte datos CSON (CoffeeScript Object Notation) a formato JSON
- [Removedor de Caracteres BOM](https://elysiatools.com/es/tools/data-bom-remover): Eliminar caracteres BOM (Byte Order Mark) de contenido de texto y archivos. Perfecto para limpiar archivos de texto con problemas de codificación.
- [EDN a JSON](https://elysiatools.com/es/tools/edn-to-json): Convierte datos EDN (Extensible Data Notation) a formato JSON
- [GraphQL a JSON](https://elysiatools.com/es/tools/graphql-to-json): Convierte consultas o respuestas GraphQL a formato JSON
- [Formateador JSON](https://elysiatools.com/es/tools/json-formatter): Formatea y valida datos JSON
- [JSON a CSON](https://elysiatools.com/es/tools/json-to-cson): Convierte datos JSON a formato CSON (CoffeeScript Object Notation)

## Ejemplos

- [Ejemplos de JSON](https://elysiatools.com/es/samples/json): Ejemplos de formato JSON (JavaScript Object Notation) desde estructuras simples hasta complejas
- [Muestras JSON de Terraform Plan](https://elysiatools.com/es/samples/terraform-plan-json-samples): Archivos Terraform plan JSON para visualizacion de dependencias y revision de cambios, similares a terraform show -json
- [Ejemplos JSON de Chat](https://elysiatools.com/es/samples/chat-transcript-json): Ejemplos JSON para transcripciones de chat multirrol
- [Ejemplos JSON de Texto Enriquecido](https://elysiatools.com/es/samples/rich-media-json): Ejemplos JSON para editores de texto enriquecido (TipTap, Quill, Slate)

## Contenido relacionado

- [Definición de contratos API, validación de esquemas y pruebas de cambios](https://elysiatools.com/es/hubs/api-contract-testing): Define un contrato API, valida esquemas y cargas capturadas, detecta riesgos de compatibilidad y registra la aceptación.
- [Herramientas de validación de JSON Schema y contratos API](https://elysiatools.com/es/hubs/json-validate): Compara validación de JSON Schema, comprobaciones de respuesta OpenAPI, mutation testing, stress testing y detección de cambios incompatibles en un solo hub para revisión de contratos API.
- [Herramientas de utilidad, inspeccion y transformacion JSON](https://elysiatools.com/es/hubs/json-utility): Formatea, inspecciona, compara, combina, transforma, valida, analiza y marca JSON para flujos de API y datos.
