¿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.

×