Skip to main content

JSON vs Objetos en Node.js

¿Por qué es importante?

JSON y los objetos en JavaScript (y Node.js) se parecen muchísimo… de hecho, son prácticamente equivalentes, pero no son exactamente lo mismo.

  • Node.js trabaja con objetos y arrays de forma nativa.
  • JSON es simplemente texto con formato estructurado.
  • Para trabajar con datos reales, normalmente conviertes JSON ⇆ objeto.

Si no haces esta conversión correctamente, obtendrás errores al acceder a los datos, o simplemente estarán vacíos.

Conversión entre JSON y objetos en Node.js

1) De JSON → Objeto JS → JSON.parse()

const json = '{"nombre": "Mario", "edad": 35}';

const objeto = JSON.parse(json);

console.log(objeto);

✅ Resultado en consola:

{ nombre: 'Mario', edad: 35 }

2) De Objeto JS → JSON → JSON.stringify()

const objeto = { nombre: "Luigi", edad: 34 };

const json = JSON.stringify(objeto);

console.log(json);

✅ Resultado:

{ "nombre": "Luigi", "edad": 34 }

Tabla comparativa

ConceptoJSONObjeto JS
FormatoTexto planoEstructura interna
Sintaxis{"clave":"valor"}{ clave: "valor" }
Acceso a datosNo directamenteobjeto.clave
ConversiónJSON.parse()JSON.stringify()
Usado paraGuardar / enviar datosManipular datos en la aplicación

Errores comunes al convertir JSON y objetos en Node.js

ErrorCausa y solución
Usar objeto.propiedad sobre JSON sin parsearJSON es texto: primero usar JSON.parse()
Intentar guardar objeto directamenteHay que usar JSON.stringify() antes de escribirlo en un archivo
JSON inválido (comillas simples, coma final, etc.)JSON debe usar comillas dobles y tener sintaxis correcta

Ejemplo completo en Node.js

import { writeFileSync, readFileSync } from "node:fs";

// 1. Crear objeto JS
const usuario = {
nombre: "Peach",
rol: "admin",
activo: true,
};

// 2. Convertir a JSON para guardar o enviar
const json = JSON.stringify(usuario);

// 3. Guardar en archivo
writeFileSync("usuario.json", json);

// 4. Leerlo después
const contenido = readFileSync("usuario.json", "utf8");

// 5. Convertir de JSON a objeto JS
const datos = JSON.parse(contenido);

// 6. Mostrar en consola
console.log("👤 Nombre:", datos.nombre);

Reglas clave para recordar

Acción que vas a hacerMétodo en Node.js
Convertir objeto JS → JSONJSON.stringify(objeto)
Convertir JSON → objeto JSJSON.parse(json)
Guardar datos en archivo .jsonwriteFileSync() o writeFile()
Leer archivo JSONreadFileSync() o readFile()

En resumen

JSONObjeto JS
Formato universal para enviar/guardarEstructura nativa para trabajar
Se guarda como texto (.json)Vive en memoria
Necesita JSON.parse() para usarloSe usa directamente
Se convierte fácil con JSON.stringify()Muy fluido en Node.js