LM 1DAW · Tarea
RA4-Validadores, JSON, JSON SCHEMA
Instrucciones
Definición y validación de una lista de palabras vacías
Realiza las partes 1, 2 y 3 de la práctica de JSON.
Consulta el documento original de la práctica, enlazado en la diapositiva 367.
Ejercicio 1
Crear data.json
Crea data.json con un objeto que tenga una única propiedad llamada stop. Su valor será un array de palabras vacías habituales en español: palabras frecuentes que se ignoran en un análisis de texto.
Ejemplo de datos:
{"stop": ["a", "de", "la", "y", "que", "el", "en"]}
Condiciones
- Todas las palabras deben estar en minúsculas.
- Solo pueden contener letras, incluidos los acentos y la ñ; no se admiten números ni signos.
- Cada palabra tendrá entre 1 y 10 caracteres.
- No puede haber palabras repetidas y el array no puede estar vacío.
Ejercicio 2
Crear schema.json
Crea schema.json para validar estrictamente los datos anteriores.
- El documento debe ser un objeto con una única propiedad obligatoria:
stop. stopdebe ser un array no vacío de cadenas de texto.- Cada cadena debe contener únicamente letras minúsculas, incluidos acentos y ñ.
- Su longitud debe estar entre 1 y 10 caracteres.
- El array no puede tener elementos duplicados.
- No se permiten propiedades adicionales en el objeto.
Casos de validación
Este documento debe ser válido:
{"stop": ["hola", "mañana", "él"]}
Este documento debe ser inválido, porque contiene una mayúscula y una palabra repetida:
{"stop": ["Hola", "mañana", "él", "él"]}
Ejercicio 3
Validación real con JavaScript y Ajv
Comprueba la validación con JavaScript y la librería Ajv. El proyecto debe contener index.html, script.js, data.json y schema.json.
En index.html, carga Ajv y enlaza script.js. En el script:
- Carga
schema.json. - Carga
data.json. - Compila el esquema con Ajv.
- Valida los datos con el esquema.
- Muestra en la consola si el documento es válido o inválido.
- Si hay errores, muestra la información de
validate.errors.
Entrega y defensa
Adjunta la práctica en un ZIP con los cuatro archivos. Prepara la defensa según el cronograma de clase.
Materiales de la tarea
No hay archivos adjuntos en esta tarea.