Trabajo con JSON en JavaScript: análisis y serialización para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: ¿qué es JSON y para qué sirve en JavaScript?



JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos basado en la sintaxis de objetos de JavaScript. A pesar de su nombre, JSON es independiente del lenguaje y es compatible con prácticamente todos los lenguajes de programación modernos. En el ecosistema de Node.js y JavaScript del navegador, trabajar con JSON es una de las operaciones más comunes: desde obtener datos de una API hasta guardar configuraciones y transferir información entre el servidor y el cliente.



En este artículo analizaremos dos métodos clave: JSON.parse() (convertir una cadena JSON en un objeto JavaScript) y JSON.stringify() (convertir un objeto JavaScript en una cadena JSON). Aprenderás a manejar errores correctamente, trabajar con estructuras anidadas y utilizar las capacidades avanzadas de estos métodos.



1. Análisis JSON: método JSON.parse()



El método JSON.parse() toma una cadena en formato JSON y la convierte en un objeto, array o valor primitivo de JavaScript. Esta es la operación principal cuando recibes datos de una fuente externa, como una API REST o un archivo.



Sintaxis básica



const jsonString = '{"name": "Ana", "age": 30, "isStudent": false}';const user = JSON.parse(jsonString);

console.log(user.name); // "Ana"console.log(user.age); // 30console.log(user.isStudent); // false


Ten en cuenta: las claves y los valores de cadena en JSON obligatoriamente deben estar entre comillas dobles. Las comillas simples o la ausencia de comillas en las claves provocarán un error.



Análisis de arrays



JSON puede contener no solo objetos, sino también arrays:



const jsonArray = '[1, 2, 3, "cuatro", true]';const arr = JSON.parse(jsonArray);

console.log(arr[0]); // 1console.log(arr[3]); // "cuatro"


Estructuras anidadas



JSON admite anidación ilimitada:



const complexJson = '{"users":[{"id":1,"name":"Iván"},{"id":2,"name":"María"}]}';const data = JSON.parse(complexJson);

console.log(data.users[0].name); // "Iván"console.log(data.users[1].id); // 2


Manejo de errores de análisis



Si la cadena contiene JSON no válido, JSON.parse() lanzará una excepción SyntaxError. Siempre usa try/catch al trabajar con datos externos:



const invalidJson = '{"name": "Pedro", age: 25}'; // Error: age sin comillas

try { const obj = JSON.parse(invalidJson); console.log(obj);} catch (error) { console.error('Error de análisis JSON:', error.message); // Salida: Error de análisis JSON: Unexpected token 'a', ...}


Uso avanzado: función reviver



El segundo parámetro de JSON.parse() es una función reviver que permite transformar valores durante el análisis. Por ejemplo, se pueden convertir automáticamente cadenas con fechas en objetos Date:



const jsonWithDate = '{"name": "Evento", "date": "2025-03-15T10:00:00.000Z"}';

const event = JSON.parse(jsonWithDate, (key, value) => { if (key === 'date') { return new Date(value); } return value;});

console.log(event.date instanceof Date); // trueconsole.log(event.date.getFullYear()); // 2025


2. Serialización JSON: método JSON.stringify()



El método JSON.stringify() realiza la operación inversa: convierte un objeto o valor de JavaScript en una cadena JSON. Esto es necesario para enviar datos al servidor, guardarlos en un archivo o registrarlos.



Sintaxis básica



const user = {    name: "Olga",    age: 28,    isAdmin: true,    skills: ["JS", "Python", "SQL"]};

const jsonString = JSON.stringify(user);console.log(jsonString);// {"name":"Olga

Blogs

Book Recommendations