Unidad 2: Arrays, Objetos y Clases
2.3 Persistencia en JavaScript con JSON
Introducción
En JavaScript, la persistencia de datos es fundamental cuando queremos almacenar información de manera duradera. Para ello, uno de los formatos más utilizados es JSON (JavaScript Object Notation), que permite representar estructuras de datos de manera clara, sencilla y compatible con distintos sistemas.
Este formato es ampliamente usado en el intercambio de datos entre aplicaciones web, APIs y almacenamiento en archivos.
¿Qué es JSON?
JSON (JavaScript Object Notation) es un formato de texto para el intercambio de datos, basado en la sintaxis de objetos de JavaScript. Es independiente del lenguaje y fácil de leer tanto por humanos como por máquinas.
- Se estructura en pares clave-valor.
- Permite almacenar datos en forma de objetos y arrays.
- Es compatible con múltiples lenguajes de programación.
Ejemplo de un objeto en JSON:
| Ejemplo de JSON | |
|---|---|
¿Cómo utilizar JSON en JavaScript?
JavaScript proporciona dos métodos fundamentales para trabajar con JSON:
JSON.stringify()→ Convierte un objeto JavaScript a una cadena con formato JSON.JSON.parse()→ Convierte una cadena con formato JSON a un objeto JavaScript.
Ejemplo de uso de JSON.stringify() y JSON.parse()
Leyendo un JSON externo
Podemos leer archivos JSON externos utilizando fetch() en JavaScript.
Este JSON lo utilizaremos estos datos de ejemplo, que lo puedes encontrar en este enlace.
{
"squadName": "Super hero squad",
"homeTown": "Metro City",
"formed": 2016,
"secretBase": "Super tower",
"active": true,
"members": [
{
"name": "Molecule Man",
"age": 29,
"secretIdentity": "Dan Jukes",
"powers": [
"Radiation resistance",
"Turning tiny",
"Radiation blast"
]
},
{
"name": "Madame Uppercut",
"age": 39,
"secretIdentity": "Jane Wilson",
"powers": [
"Million tonne punch",
"Damage resistance",
"Superhuman reflexes"
]
},
{
"name": "Eternal Flame",
"age": 1000000,
"secretIdentity": "Unknown",
"powers": [
"Immortality",
"Heat Immunity",
"Inferno",
"Teleportation"
]
}
]
}
Lectura de un JSON externo
Este ejemplo muestra la información básica del equipo de superhéroes, así como los detalles de cada miembro, incluyendo su edad, identidad secreta y lista de poderes."
Ejemplo Completo: Aplicación Interactiva con JSON
Vamos a desarrollar una aplicación que cargue la información del JSON de superhéroes en un array, notifique al usuario y permita ver los detalles de cada superhéroe mediante un menú interactivo.
Aplicación interactiva con JSON
¿Qué hace esta aplicación?
- Carga el archivo JSON externo con
fetch. - Informa al usuario sobre el contenido del archivo.
- Muestra un menú que permite introducir un índice para ver información detallada de un superhéroe.
- Finaliza cuando el usuario introduce un índice no válido.
Este ejemplo muestra cómo cargar datos JSON, almacenarlos en un array, recorrerlos y mostrarlos de forma interactiva mediante un menú simple."
Almacenar un objeto JSON en un fichero local
Para almacenar datos en un archivo local usando Node.js, podemos usar el módulo fs.
Almacenando JSON en un archivo
Leer un JSON desde un fichero local
Podemos leer un archivo JSON localmente usando Node.js.
Leyendo un archivo JSON local
Ejercicio Propuesto
Se proporciona el siguiente archivo JSON con información de empleados:
empleados.json
[
{ "codigo": 101, "nombre": "Carlos Pérez", "edad": 35, "sueldo": 2500 },
{ "codigo": 102, "nombre": "Ana López", "edad": 28, "sueldo": 2200 },
{ "codigo": 103, "nombre": "Luis García", "edad": 40, "sueldo": 3000 }
]
Requisitos del ejercicio:
- Leer el archivo JSON y convertirlo a un array de objetos.
- Solicitar al usuario un código de empleado.
- Mostrar la información del empleado correspondiente.
- Permitir al usuario modificar la edad o el sueldo.
- Guardar de nuevo el array modificado en el archivo JSON.
Posible solución
Este ejercicio permite comprender cómo leer, modificar y guardar datos en formato JSON utilizando JavaScript y Node.js."