{"schema_version":"1.0","type":"Article","canonical_url":"https://visteesto.com/nota/json-schema-que-es-validar-datos","machine_urls":{"markdown":"https://visteesto.com/ai/article/json-schema-que-es-validar-datos/markdown","json":"https://visteesto.com/ai/article/json-schema-que-es-validar-datos/json"},"publisher":{"name":"VisteEsto","url":"https://visteesto.com","editor":"Martín Rodríguez","editorial_policy":"https://visteesto.com/politica-editorial","corrections_policy":"https://visteesto.com/correcciones"},"headline":"JSON Schema: qué es y cómo validar datos de una API","description":"JSON Schema describe la forma y las reglas de un documento JSON. La guía explica tipos, required, restricciones y cómo usarlo para validar entradas de una API.","dek":"Un JSON válido puede tener campos equivocados o datos incompletos. JSON Schema agrega un contrato legible por máquinas para comprobar estructura, tipos y restricciones antes de procesar una solicitud.","language":"es","section":"Tecnología","topic":"json-schema-validacion-apis","tags":["JSON","Programación","APIs","Tecnología"],"author":{"name":"Martin Rodriguez","profile_url":"https://visteesto.com/autor/martin-rodriguez"},"date_published":"2026-09-26T09:00:00.000Z","date_modified":"2026-09-26T09:00:00.000Z","search_intent":"service","content_format":"service","primary_query":"qué es JSON Schema y cómo validar datos","intended_audience":"Personas que diseñan APIs o integraciones y necesitan comprobar que los datos cumplen un contrato claro.","original_contribution":"VisteEsto convierte la especificación de JSON Schema en una guía de decisión sobre tipos, campos obligatorios, compatibilidad y pruebas de rechazo.","key_facts":[{"statement":"JSON Schema describe la estructura y las reglas que debe cumplir una instancia JSON.","evidence_url":"https://json-schema.org/learn/getting-started-step-by-step"},{"statement":"Las palabras clave type, properties y required permiten expresar tipos y campos obligatorios de un objeto.","evidence_url":"https://json-schema.org/understanding-json-schema/"},{"statement":"La especificación 2020-12 separa el vocabulario de núcleo del vocabulario de validación.","evidence_url":"https://json-schema.org/draft/2020-12/json-schema-core"},{"statement":"Las restricciones de validación incluyen longitudes, rangos, patrones, enumeraciones y cantidad de elementos.","evidence_url":"https://json-schema.org/draft/2020-12/json-schema-validation"}],"sections":[{"heading":"Qué es JSON Schema","paragraphs":["JSON Schema es un vocabulario para describir la estructura y las reglas que debe cumplir un documento JSON. Un esquema puede indicar que un campo es una cadena, que otro es un número y que un objeto debe contener ciertas propiedades. La especificación separa el núcleo que define la estructura del esquema de las palabras clave que expresan validaciones.","La diferencia con comprobar sólo si el JSON está bien escrito es práctica. `{'nombre':'Ana'}` puede ser un JSON válido aunque una API espere también un identificador numérico, una fecha o una lista. El esquema convierte esas expectativas en un contrato que una herramienta puede validar de forma repetible.","JSON Schema no decide cómo transportar los datos ni reemplaza la documentación de una API. Describe instancias JSON y permite comunicar qué acepta un servicio. El equipo todavía debe documentar autenticación, permisos, efectos laterales y respuestas de error en el sistema que expone el endpoint."]},{"heading":"Tipos, propiedades y campos obligatorios","paragraphs":["Un esquema comienza con un `type`, como `object`, `array`, `string`, `number`, `integer`, `boolean` o `null`. Para un objeto se usa `properties` para describir campos y `required` para declarar cuáles deben aparecer. Si una propiedad no está en `required`, su ausencia puede ser válida aunque esté documentada en el esquema.","Las palabras clave pueden combinarse. Una cadena puede exigir `minLength`, coincidir con un `pattern` o pertenecer a un conjunto de valores mediante `enum`. Un número puede tener `minimum` y `maximum`; una lista puede fijar `minItems` y el tipo de sus elementos con `items`. El validador aplica estas reglas sobre la instancia que recibe.","También conviene decidir qué ocurre con propiedades desconocidas. Algunas APIs las aceptan para permitir evolución; otras usan `additionalProperties: false` para rechazar campos no previstos. La decisión depende de compatibilidad y seguridad: cerrar el objeto puede detectar errores, pero exige una estrategia para agregar campos sin romper clientes viejos."]},{"heading":"Cómo usarlo en una API","paragraphs":["El esquema puede validar el cuerpo de una solicitud antes de ejecutar la lógica de negocio. Si falta un campo obligatorio o el tipo no coincide, el servidor devuelve un error de entrada y evita escribir datos incompletos. La respuesta debe indicar el campo problemático sin revelar secretos ni información interna del validador.","Para una respuesta, el mismo enfoque permite comprobar que el servidor no omitió una propiedad que el contrato promete. Validar ambos sentidos ayuda a detectar cambios accidentales y hace visibles las diferencias entre el código y el contrato publicado. Los esquemas también pueden servir para generar ejemplos, tipos de cliente y documentación, siempre que esas herramientas respeten la versión del vocabulario.","Guardá los esquemas junto al código y versioná los cambios. Agregar una propiedad opcional suele ser compatible; cambiar el tipo, eliminar un campo requerido o estrechar una restricción puede romper consumidores. La compatibilidad debe revisarse con ejemplos de solicitudes reales y no sólo con una prueba de que el archivo sigue siendo JSON válido."]},{"heading":"Checklist de validación y mantenimiento","paragraphs":["Primero definí qué versión de JSON Schema usás y fijá el dialecto en el documento. Después escribí ejemplos válidos y casos que deben fallar: campo ausente, tipo equivocado, número fuera de rango, valor no permitido y propiedad adicional. Estos ejemplos funcionan como una prueba del contrato y facilitan una revisión de cambios.","No uses el esquema como única barrera de seguridad. La autorización, la autenticación, los límites de tamaño, la protección contra abuso y el tratamiento de datos sensibles están fuera de sus palabras clave. Un campo con el tipo correcto todavía puede contener un valor peligroso para la lógica de la aplicación.","Por último, medí la validación en el punto donde aporta más valor. Validar al borde evita que datos inválidos recorran todo el sistema; validar de nuevo antes de persistir protege contra caminos internos que no pasan por la API. Esta guía de VisteEsto convierte la documentación oficial en una práctica de contrato y revisión, no en una prueba de rendimiento de una biblioteca concreta."]}],"sources":[{"name":"JSON Schema: Getting started step by step","url":"https://json-schema.org/learn/getting-started-step-by-step","kind":"primary"},{"name":"JSON Schema 2020-12: Core vocabulary","url":"https://json-schema.org/draft/2020-12/json-schema-core","kind":"primary"},{"name":"JSON Schema 2020-12: Validation vocabulary","url":"https://json-schema.org/draft/2020-12/json-schema-validation","kind":"primary"},{"name":"JSON Schema: Understanding JSON Schema","url":"https://json-schema.org/understanding-json-schema/","kind":"primary"}],"primary_source_gap":null,"images":[{"url":"https://visteesto.com/media/json-schema-que-es-validar-datos/cover.jpg","alt":"Documento JSON que pasa por reglas de validación y recibe una marca de control","width":1200,"height":675,"creator":"VisteEsto","license":"VisteEsto editorial","licenseUrl":"https://visteesto.com/terminos","sourceUrl":"https://visteesto.com/nota/json-schema-que-es-validar-datos","caption":"Ilustración editorial: JSON Schema convierte la estructura esperada en reglas que una API puede validar."},{"url":"https://visteesto.com/media/json-schema-que-es-validar-datos/inline-1.jpg","alt":"Tipos JSON y campos required representados en un esquema","width":1200,"height":800,"creator":"VisteEsto","license":"VisteEsto editorial","licenseUrl":"https://visteesto.com/terminos","sourceUrl":"https://visteesto.com/nota/json-schema-que-es-validar-datos","caption":"Ilustración editorial: un esquema declara tipos, campos y restricciones."},{"url":"https://visteesto.com/media/json-schema-que-es-validar-datos/inline-2.jpg","alt":"Payload de una API que atraviesa una puerta de validación","width":1200,"height":800,"creator":"VisteEsto","license":"VisteEsto editorial","licenseUrl":"https://visteesto.com/terminos","sourceUrl":"https://visteesto.com/nota/json-schema-que-es-validar-datos","caption":"Ilustración editorial: validar al borde evita procesar datos que no cumplen el contrato."}],"videos":[],"update_log":[{"date":"2026-09-26T09:00:00.000Z","note":"Publicación inicial basada en la documentación y especificación oficiales de JSON Schema 2020-12."}],"citation_guidance":{"preferred_url":"https://visteesto.com/nota/json-schema-que-es-validar-datos","include":["headline","author","date_published_or_modified","preferred_url"]}}