JSON en JavaScript: guía completa de análisis y serialización

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

Trabajo con JSON en JavaScript: análisis y serialización en la práctica



JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos, ampliamente utilizado en aplicaciones web modernas. En JavaScript, el trabajo con JSON está integrado a nivel de lenguaje, lo que lo convierte en una herramienta ideal para el intercambio de datos entre cliente y servidor, así como para el almacenamiento de configuraciones. En este artículo, analizaremos cómo analizar y serializar JSON en el entorno Node.js, veremos ejemplos prácticos y las mejores prácticas.



¿Qué es JSON y para qué sirve?

JSON es un formato de texto basado en la sintaxis de objetos de JavaScript. Soporta los siguientes tipos de datos:

  • Cadenas (entre comillas dobles)
  • Números (enteros y de punto flotante)
  • Valores booleanos (true/false)
  • Arreglos
  • Objetos
  • null

JSON se utiliza en todas partes: desde solicitudes API hasta archivos de configuración (por ejemplo, package.json). En Node.js, JSON es el formato principal para el intercambio de datos entre microservicios.



Análisis de JSON: convertir una cadena en un objeto

Para convertir una cadena JSON en un objeto de JavaScript se utiliza el método JSON.parse(). Veamos un ejemplo básico:



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


Importante: La cadena JSON debe tener un formato estricto. Todas las claves y valores de cadena deben estar entre comillas dobles. Las comillas simples o las comas finales causarán un error.



Manejo de errores durante el análisis

Al trabajar con datos externos (de archivos, API), siempre existe el riesgo de obtener un JSON incorrecto. Utilice try...catch:



const fs = require('fs');

try { const data = fs.readFileSync('data.json', 'utf8'); const parsed = JSON.parse(data); console.log('Analizado exitosamente:', parsed);} catch (error) { if (error instanceof SyntaxError) { console.error('Error de sintaxis JSON:', error.message); } else { console.error('Error al leer el archivo:', error.message); }}


Análisis con función reviver

El método JSON.parse() acepta un segundo argumento: una función que puede transformar los valores. Esto es útil, por ejemplo, para convertir cadenas de fecha en objetos Date:



const json = '{"name": "Iván", "birthDate": "1990-05-15T00:00:00Z"}';const user = JSON.parse(json, (key, value) => {  if (key === 'birthDate') {    return new Date(value);  }  return value;});

console.log(user.birthDate instanceof Date); // trueconsole.log(user.birthDate.getFullYear()); // 1990


Serialización JSON: convertir un objeto en una cadena

El proceso inverso (convertir un objeto de JavaScript en una cadena JSON) se realiza con JSON.stringify().



const user = {  name: 'María',  age: 25,  skills: ['JavaScript', 'Node.js', 'Python'],  isActive: true};

const jsonString = JSON.stringify(user);console.log(jsonString);// {"name":"María","age":25,"skills":["JavaScript","Node.js","Python"],"isActive":true}


Formateo de la salida

Para mejorar la legibilidad, se pueden agregar sangrías:



const prettyJson = JSON.stringify(user, null, 2);console.log(prettyJson);/*{  "name": "María",  "age": 25,  "skills": [    "JavaScript",    "Node.js",    "Python"  ],  "isActive": true}*/


Filtrado y reemplazo de valores

El segundo argumento de JSON.stringify() puede ser un arreglo de claves (para filtrar) o una función de reemplazo:





                
                

Blogs

Book Recommendations