¿Qué es JSON? Guía Principiantes con Sintaxis, Ejemplos
JSON (JavaScript Object Notation) es un formato texto para intercambio datos — keys, valores, arrays, objects. Universal en APIs, configs, bases NoSQL.
¿Qué es JSON?
JSON (JavaScript Object Notation) es un formato datos liviano, basado en texto, para representar datos estructurados. A pesar del nombre, es language-agnostic — cada lenguaje moderno tiene librerías para parsearlo y generarlo.
Sintaxis básica JSON
JSON tiene seis tipos datos:
- Object: colección key-value en
{} - Array: lista ordenada en
[] - String: texto en
"comillas dobles" - Number: integer o float
- Boolean:
trueofalse - null
Ejemplo JSON
{
"id": 42,
"name": "Alice Johnson",
"email": "alice@example.com",
"active": true,
"preferences": {
"language": "en",
"notifications": false
},
"tags": ["admin", "beta-tester"]
}Reglas sintaxis JSON
- Keys deben ser strings, en comillas dobles
- Strings deben usar comillas dobles
- Sin trailing commas
- Sin comentarios
- Sin undefined; usar null
Operaciones JSON comunes
Parse JSON
const data = JSON.parse('{"id": 42}');
import json
data = json.loads('{"id": 42}')Stringify JSON
const json = JSON.stringify({ id: 42, name: 'Alice' });JSON vs XML vs YAML
| Feature | JSON | XML | YAML |
|---|---|---|---|
| Verbosidad | Baja | Alta | Más baja |
| Comentarios | No | Sí | Sí |
| Validación schema | JSON Schema | XSD | JSON Schema |
| Mejor para | APIs, config | Datos documento | Configs, k8s |
JSON en APIs REST
POST /api/users HTTP/1.1
Content-Type: application/json
{ "email": "alice@example.com", "name": "Alice" }JSON Schema
{
"type": "object",
"required": ["email", "name"],
"properties": {
"email": { "type": "string", "format": "email" },
"name": { "type": "string", "minLength": 1 }
}
}Mejores prácticas JSON
- ISO 8601 para fechas.
- Naming consistente.
- Validar contra schema.
- Comprimir con gzip/Brotli.
- null sobre keys faltantes.
- Numbers en rango safe JS.
- Sin binario en JSON.
- Stream arrays grandes.
Pitfalls JSON comunes
- Comillas simples.
- Trailing commas.
- Comentarios en JSON estándar.
- Precisión números.
- Fechas indefinidas.
- Shapes inconsistentes.
- HTML escaping en JSON.
- Inyección JSON.
Variantes de JSON
| Variante | Añade | Caso uso |
|---|---|---|
| JSON5 | Comentarios, trailing commas | Config files |
| JSONC | Comentarios | VS Code settings |
| NDJSON | Records newline-delimited | Log streaming |
| JSON-LD | Semántica linked-data | SEO structured data |
| GeoJSON | Shapes geográficas | Mapas, GIS |
| JSON Patch | Formato diff | API partial updates |
FAQ: JSON
¿Por qué JSON sobre XML?
Más pequeño, sintaxis más simple, parsing nativo JS.
¿Puede JSON tener comentarios?
JSON estándar: no. JSON5/JSONC: sí.
¿Cómo envío fechas en JSON?
Strings ISO 8601.
¿Qué sobre números grandes?
Sobre JS Safe Integer serializar como string.
¿Es seguro parsear JSON de fuentes no confiables?
JSON.parse es seguro; pero validar shape vía schema.
¿Diferencia entre JSON y JS objects?
JSON es formato texto. JS objects son datos runtime.
¿Cómo pretty-printeo JSON?
JSON.stringify(obj, null, 2); jq ..
Testea APIs JSON a escala con LoadFocus
LoadFocus corre scripts JMeter y k6 que pegan APIs JSON desde 25+ regiones. Regístrate en loadfocus.com/signup.
Herramientas LoadFocus relacionadas
Lleva este concepto a la práctica con LoadFocus — la misma plataforma que potencia todo lo que acabas de leer.