¿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: true o false
  • 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

FeatureJSONXMLYAML
VerbosidadBajaAltaMás baja
ComentariosNo
Validación schemaJSON SchemaXSDJSON Schema
Mejor paraAPIs, configDatos documentoConfigs, 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

VarianteAñadeCaso uso
JSON5Comentarios, trailing commasConfig files
JSONCComentariosVS Code settings
NDJSONRecords newline-delimitedLog streaming
JSON-LDSemántica linked-dataSEO structured data
GeoJSONShapes geográficasMapas, GIS
JSON PatchFormato diffAPI 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.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.

×