Trabajo con JSON en JavaScript: análisis y serialización de datos

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 a JSON y su papel en el JavaScript moderno



JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos que se ha convertido en el estándar de facto para la transmisión de información entre el cliente y el servidor. A pesar de que el nombre contiene "JavaScript", JSON es un formato independiente del lenguaje, pero su sintaxis es muy cercana a la sintaxis de los objetos de JavaScript. En el entorno Node.js, trabajar con JSON es una tarea diaria para cualquier desarrollador backend: desde la lectura de archivos de configuración hasta el procesamiento de solicitudes API.



En este artículo, analizaremos en detalle dos métodos clave para trabajar con JSON en JavaScript: JSON.parse() para el análisis (conversión de una cadena a un objeto) y JSON.stringify() para la serialización (conversión de un objeto a una cadena). Aprenderá no solo los conceptos básicos, sino también técnicas avanzadas que le ayudarán a escribir código más robusto y eficiente en Node.js.



JSON.parse(): Conversión de una cadena a un objeto JavaScript



El método JSON.parse() toma una cadena en formato JSON y devuelve el objeto JavaScript correspondiente. Esta es la operación principal al recibir datos de una API o leer archivos JSON.



Sintaxis básica y ejemplo simple



La sintaxis del método es extremadamente simple:



JSON.parse(text[, reviver])


Donde text es la cadena JSON, y el parámetro opcional reviver es una función que puede transformar los valores antes de devolverlos.



Veamos un ejemplo básico:



const jsonString = '{"name": "Node.js", "version": 18, "features": ["async", "await"]}';const parsedObject = JSON.parse(jsonString);

console.log(parsedObject.name); // "Node.js"console.log(parsedObject.version); // 18console.log(parsedObject.features); // ["async", "await"]


Manejo de errores durante el análisis



Uno de los errores más comunes es intentar analizar un JSON no válido. En Node.js, esto provocará el lanzamiento de una excepción SyntaxError. Utilice siempre la construcción try...catch para un análisis seguro:



const invalidJson = '{"name": "Node.js", version: 18}'; // Error: clave version sin comillas

try { const data = JSON.parse(invalidJson); console.log(data);} catch (error) { if (error instanceof SyntaxError) { console.error('Error de análisis JSON:', error.message); // Salida: Error de análisis JSON: Expected property name in JSON at position 27 }}


Uso del parámetro reviver para la transformación de datos



El parámetro reviver permite modificar los valores durante el análisis. Esto es especialmente útil para convertir cadenas de fecha en objetos Date:



const jsonWithDate = '{"event": "Conferencia", "date": "2024-12-15T10:00:00Z"}';

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

console.log(result.date instanceof Date); // trueconsole.log(result.date.toLocaleDateString('es-ES')); // 15/12/2024


JSON.stringify(): Conversión de un objeto a una cadena JSON



El método JSON.stringify() realiza la operación inversa: convierte un objeto JavaScript en una cadena JSON. Esto es necesario al enviar datos al servidor o guardar el estado en un archivo.



Sintaxis y ejemplos básicos



La sintaxis completa del método incluye tres parámetros:



JSON.stringify(value[, replacer[, space]])


  • value — objeto a serializar (obligatorio)
  • replacer — función o array para filtrar propiedades (opcional)
  • space — número de espacios para el formateo (opcional)


Ejemplo simple de serialización:



const user = {    id: 101,    name: "Alexey",                

Blogs

Book Recommendations