Skip to main content

¿Qué es JSON? Sintaxis y estructura básica

¿Qué es JSON?

JSON (JavaScript Object Notation) es una forma de escribir datos organizados usando texto plano.

Lo usamos para guardar, enviar y recibir información entre el frontend (HTML/JS) y el backend (Node.js, etc.).

¿Dónde se usa JSON?

  • Al guardar datos como usuarios, configuraciones o productos.
  • Al enviar datos desde formularios.
  • Al leer datos desde una API externa (películas, clima, usuarios, etc.).
  • Al construir una respuesta desde Node.js para JavaScript (por ejemplo, con Express). (Actualizado)

JSON es como una cajita de datos

Ejemplo 1 – Usuario:

{
"nombre": "Mario",
"edad": 35,
"activo": true
}

Esto representa un usuario que:

  • Se llama Mario
  • Tiene 35 años
  • Está activo

Reglas básicas de sintaxis en JSON (las que necesitas hoy)

ReglaEjemplo
Los datos están entre llaves {}{ "nombre": "Mario" }
Las claves van entre comillas dobles"nombre"
Las claves y valores se separan con dos puntos :"edad": 35
Cada par clave-valor termina en coma ,, excepto el último
Los arrays usan corchetes []"juegos": ["Zelda", "Mario", "Metroid"]

Ejemplo 2 – Producto en una tienda

{
"id": 101,
"nombre": "Zapatillas",
"precio": 49.99,
"tallas": [38, 39, 40, 41],
"disponible": true
}

¿Cómo se ve un JSON más completo?

{
"usuarios": [
{
"id": 1,
"nombre": "Luigi",
"email": "luigi@example.com"
},
{
"id": 2,
"nombre": "Peach",
"email": "peach@example.com"
}
]
}

Aquí tenemos un objeto con una clave "usuarios", cuyo valor es un array de objetos (una lista de personas).

¿Y cómo se representa y usa en Node.js?

1) Objeto JavaScript en Node.js (memoria)

// Node.js (objeto JS en memoria)
const usuario = {
nombre: "Mario",
edad: 35,
activo: true,
};

2) Convertir entre objeto JS y texto JSON

// Objeto JS -> cadena JSON
const jsonStr = JSON.stringify(usuario); // '{"nombre":"Mario","edad":35,"activo":true}'

// Cadena JSON -> objeto JS
const copia = JSON.parse(jsonStr); // { nombre: 'Mario', edad: 35, activo: true }

Pista: usa JSON.stringify(valor, null, 2) para guardar bonito con sangría.

3) Enviar JSON con Express

import express from "express";
const app = express();

app.use(express.json()); // habilita parseo de JSON del body

app.get("/api/usuario", (req, res) => {
res.json(usuario); // establece cabeceras y serializa a JSON automáticamente
});

app.post("/api/echo", (req, res) => {
// req.body ya es un objeto JS si el cliente envió JSON válido
res.status(201).json({ recibido: req.body });
});

app.listen(3000, () => console.log("API en http://localhost:3000"));

4) Leer y escribir archivos .json con fs/promises

import { readFile, writeFile } from "node:fs/promises";

// Leer
const texto = await readFile("datos.json", "utf8");
const datos = JSON.parse(texto);

// Modificar en memoria
datos.usuarios.push({ id: 3, nombre: "Toad" });

// Guardar (con formato)
await writeFile("datos.json", JSON.stringify(datos, null, 2), "utf8");

Resumen de esta sección: en Node.js trabajas con objetos JS; cuando necesitas persistir o enviar por HTTP, conviertes a/desde JSON con JSON.stringify y JSON.parse.

En resumen

ConceptoQué debes recordar
JSONEs texto con estructura de clave-valor
Se usa en webPara guardar, enviar o recibir datos
Estructura base{ "clave": valor }
Soporta arrays["uno", "dos", "tres"]
En Node.jsSerializa con JSON.stringify y parsea con JSON.parse

Con esto ya puedes:

  • Leer y entender un archivo .json
  • Crear tu primer objeto JSON a mano
  • Detectar errores básicos de sintaxis
  • Exponer y consumir JSON con Node.js/Express (Nuevo)

Ampliación del Bloque 1

Errores comunes + herramientas + cómo escribir JSON desde cero

1) Errores comunes al escribir JSON (y cómo evitarlos)

Error 1: No usar comillas dobles en las claves

{ "nombre": "Mario" } // ❌ Error

Correcto:

{ "nombre": "Mario" }

Error 2: Olvidar comas entre elementos

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

Correcto:

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

Error 3: Coma final innecesaria

{
"nombre": "Peach"
}

Correcto:

{
"nombre": "Peach"
}

Error 4: Usar comillas simples

{ "nombre": "Toad" } // ❌ No válido

Correcto:

{ "nombre": "Toad" }

2) Herramientas visuales para validar y probar JSON

Te permiten:

  • Ver si tu JSON es válido
  • Darle formato bonito (pretty print)
  • Detectar errores rápidamente

Recomendadas:

  • JSONLint
  • JSON Formatter
  • JSON Editor Online
  • Extensión VSCode “JSON Tools”

3) ¿Cómo escribir JSON desde cero? (Guía rápida)

Caso: guardar un usuario con nombre, edad y email.

Paso 1: anota los datos como ficha

Nombre: Mario
Edad: 35
Email: mario@nintendo.com

Paso 2: conviértelo a JSON

{
"nombre": "Mario",
"edad": 35,
"email": "mario@nintendo.com"
}

Lista de varios usuarios:

{
"usuarios": [
{ "id": 1, "nombre": "Peach" },
{ "id": 2, "nombre": "Luigi" }
]
}

Tips para no equivocarte

ConsejoPor qué
Comillas dobles en clavesJSON lo exige
Valida tu JSON antes de usarloEvitas errores en Node/JS
Empieza simpleLuego anidas arrays y objetos
Usa herramientas onlineAprendes más rápido