Antes de empezar

Nivel intermedio. Necesitas Node.js, el programa que ejecuta JavaScript en tu ordenador, y un editor de texto. No necesitas cuenta ni clave.

Abre una terminal: una ventana donde escribes órdenes para tu ordenador. Sitúate en la carpeta del archivo.

JSON es un formato de texto para compartir datos. Un texto legible como JSON puede contener datos equivocados.

La salida estructurada ajusta la respuesta a una estructura definida, cuando el proveedor lo admite.

Aquí validar significa comprobar campos y valores antes de usarlos. No demuestra que el contenido sea verdadero.

1. Define los campos permitidos

Escribe las reglas de tu tarea. En este ejercicio, title debe ser texto no vacío y priority solo admite normal o urgent.

title significa «título» y priority significa «prioridad». urgent indica urgencia. No se admiten campos adicionales.

Qué deberías ver: Una lista con los dos campos, su tipo y los valores aceptados.

2. Guarda el validador

Guarda el bloque en validar.mjs. validateTask comprueba las reglas y rechaza una tarea con título numérico.

JSON.parse convierte el texto en datos. La función comprueba después los campos; leer el texto no basta.

JavaScript validar.mjs
function validateTask(raw) {
  const value = JSON.parse(raw);
  if (!value || typeof value !== "object" || Array.isArray(value)) {
    throw new Error("Se esperaba un objeto");
  }
  const keys = Object.keys(value).sort().join(",");
  if (keys !== "priority,title"
    || typeof value.title !== "string"
    || value.title.trim().length === 0
    || !["normal", "urgent"].includes(value.priority)) {
    throw new Error("La tarea no cumple el contrato");
  }
  return value;
}
const task = validateTask('{"title":"Revisar contrato","priority":"normal"}');
console.log("Dato válido: " + task.title);
try {
  validateTask('{"title":42,"priority":"normal"}');
  throw new Error("El validador aceptó un dato incorrecto");
} catch (error) {
  if (error.message !== "La tarea no cumple el contrato") throw error;
  console.log("Dato incorrecto rechazado");
}
Resultado comprobado
Dato válido: Revisar contrato
Dato incorrecto rechazado
Descargar validar.mjs

Qué deberías ver: Un archivo validar.mjs con ambas pruebas. Comprueba que conserva tanto el dato correcto como el incorrecto.

3. Ejecuta las dos pruebas

Escribe node validar.mjs en la terminal. El programa debe aceptar la primera tarea y rechazar la segunda.

Qué deberías ver: Dos líneas: «Dato válido: Revisar contrato» y «Dato incorrecto rechazado».

4. Revisa el formato del proveedor

Consulta qué estructuras admite el modelo elegido. OpenAI distingue JSON legible de una salida ajustada a una estructura admitida.

Un rechazo significa que el modelo no entrega el resultado solicitado por razones de seguridad.

Trata las respuestas incompletas como fallos. Evita convertirlas en datos vacíos que parezcan correctos.

Qué deberías ver: Una regla para detener el proceso cuando falta una respuesta utilizable. La conexión real sigue pendiente.

Errores comunes

JSON.parse falla: revisa comillas y comas. El texto debe seguir la sintaxis de JSON.

La validación rechaza el dato: comprueba nombres, tipos y valores permitidos. Evita corregirlos silenciosamente.

El formato pasa, pero el contenido es falso: contrasta los hechos con su fuente antes de guardarlos.

Qué has aprendido

Has separado lectura, validación y comprobación de hechos. Tu aplicación debe decidir qué acepta antes de recibir una respuesta.

Siguiente paso

Continúa con cómo proteger una integración de ia con permisos.

Fuentes y verificación

Redactado con IA a partir de documentación oficial. Fuentes revisadas el 2026-10-04. Ejemplos locales ejecutados; consulta su alcance arriba. No se atribuye una prueba con un proveedor real ni una revisión humana.

Para seguir aprendiendo

Consulta versiones oficiales antes de actualizar