Valida el JSON que devuelve el modelo
Pedir JSON a un modelo no garantiza que llegue bien formado: faltan campos o vienen números como texto. Compruébalo antes de usarlo.
Escribe validate(obj, schema) para esquemas de la forma { type: 'object', required: [...], properties: { clave: { type: 'string' | 'number' | 'boolean' } } }. Devuelve un array de errores, vacío si todo es válido:
- 'expected object' (y nada más) si obj no es un objeto: null, un array o un valor primitivo.
- 'missing: clave' por cada clave de required que no esté.
- 'clave: expected tipo' por cada propiedad presente con el tipo equivocado.
Ya tienes SCHEMA y MODEL_REPLY, una respuesta real con confidence como texto.
Retos 0/5
- Un objeto válido devuelve []
- Detecta campos obligatorios ausentes
- Detecta tipos equivocados
- Rechaza null, arrays y texto
- Acumula varios errores y acepta opcionales ausentes
function validate(obj, schema) {
const errors = [];
// 1. si no es un objeto -> ['expected object']
// 2. claves obligatorias -> 'missing: key'
// 3. typeof de cada propiedad presente -> 'key: expected type'
return errors;
}
console.log(validate(MODEL_REPLY, SCHEMA));Para profundizar: la referencia de JSON Schema (en inglés) →
¿Esto en producción, con tus datos? Hablemos 15 minutos →