Datos y texto · Media · 15 min

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));
La consola aparece aquí (console.log).

Para profundizar: la referencia de JSON Schema (en inglés) →

¿Esto en producción, con tus datos? Hablemos 15 minutos →