Esbozar un contrato de datos
Parte de una respuesta API o archivo de intercambio y compara la estructura con la documentación de negocio. Añade restricciones que la muestra no demuestra.
Analiza un documento JSON e infiere tipos, propiedades, arrays y campos requeridos automáticamente.
Crea un primer JSON Schema a partir de un documento JSON representativo. El generador identifica tipos, objetos anidados, listas y propiedades observadas para describir una estructura reutilizable con draft 2020-12. El resultado es una propuesta que revisar, no el descubrimiento automático de todas las reglas de tu API. No se sube el documento a un servicio: tu navegador analiza el ejemplo y muestra un esquema JSON para examinar, copiar o exportar.
Las cadenas pasan a string, booleanos a boolean y null a null. Se distinguen enteros observados de otros números. Los objetos producen properties; los arrays infieren items con todos los elementos, no solo el primero. Las variantes de tipo pueden representarse mediante anyOf.
Se combinan propiedades de objetos del mismo array. Si una clave falta en algunos objetos, no se añade a required; si siempre aparece, sí. Esto solo refleja la muestra. Una respuesta que contiene un campo opcional según el contrato real no permite deducir que pueda omitirse.
Los objetos usan additionalProperties: false, rechazando claves no observadas aunque tu aplicación las aceptase. Revisa esta política antes de validar respuestas futuras. Un array vacío no informa de sus elementos futuros; su esquema queda abierto en lugar de inventar un tipo.
La inferencia no deduce formatos de correo, expresiones regulares, límites numéricos ni listas exhaustivas de valores. Una fecha sigue siendo cadena. Observar 1 no demuestra minimum: 1 ni const: 1. Los números usan la representación del navegador; conserva identificadores grandes como cadenas cuando así lo indique el contrato.
Pega JSON válido con la estructura completa. Prefiere datos anonimizados con formas relevantes a grandes volúmenes de valores repetidos.
Comprueba tipos inferidos, required y objetos cerrados. Un valor null no equivale a una propiedad ausente.
Añade formatos o límites justificados y prueba ejemplos válidos e inválidos antes de integrar. La descarga contiene un esquema JSON, no un módulo TypeScript.
Parte de una respuesta API o archivo de intercambio y compara la estructura con la documentación de negocio. Añade restricciones que la muestra no demuestra.
Incluye campos ausentes, presentes y null para distinguir obligatoriedad y tipos. Las muestras variadas proporcionan una base más representativa.
Usa el esquema con un validador compatible con su draft y palabras clave. Generarlo no instala controles automáticos en la aplicación.
id se convierte en integer y active en boolean. Ambos son obligatorios porque aparecen en el objeto; additionalProperties rechaza claves adicionales.
Entrada
{"id":1,"active":true}Resultado
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"active": {
"type": "boolean"
}
},
"required": [
"id",
"active"
],
"additionalProperties": false
}id aparece en ambos objetos y sigue siendo obligatorio. name solo aparece en el segundo: es una propiedad conocida pero opcional.
Entrada
[{"id":1},{"id":2,"name":"Ada"}]Resultado
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}
}No. Todos los elementos aportados participan. Se combinan propiedades y las ausencias observadas influyen en required. Esto sigue siendo análisis de muestras, no predicción de datos futuros desconocidos.
No faltó en ninguna muestra relevante. Quítalo de required según el contrato real o añade un objeto representativo que omita la clave.
Los objetos generados están cerrados con additionalProperties: false. Cambia la regla si admites nuevas propiedades y decide explícitamente antes de validar datos que evolucionan.
No. Describe formas observadas y necesita revisión de negocio. Añade restricciones pertinentes y ejecuta un validador compatible con el draft y las palabras clave utilizadas.
Herramientas relacionadas
Herramientas similares o complementarias a esta.
Valida un documento JSON con un esquema y localiza cada error con precisión.
Genera interfaces TypeScript, tipos, esquemas Zod o JSON Schema a partir de un JSON de ejemplo.
Formatea, minimiza y valida un documento JSON para hacerlo más legible o compacto.