Qué es JSON y para qué sirve: guía completa con ejemplos, reglas y buenas prácticas
JSON (JavaScript Object Notation) es el formato de datos más usado en APIs modernas, integraciones, frontend/backend, configuraciones y automatizaciones. Es ligero, legible y compatible con prácticamente cualquier lenguaje.
En esta guía vas a aprender qué es JSON, cómo se estructura, reglas estrictas que debes respetar, errores comunes y cómo validarlo al instante con una herramienta online.
¿Qué es JSON?
JSON es un formato de texto para representar datos estructurados mediante pares clave/valor y listas ordenadas. Se popularizó por su facilidad de lectura y por ser un estándar de facto en el intercambio de información entre sistemas.
Aunque su nombre hace referencia a JavaScript, JSON se usa en todo: PHP, Python, Java, Go, C#, Ruby, Node.js, móviles, IoT y microservicios. Hoy en día es lo normal que una API REST devuelva datos en JSON, y que un frontend consuma esos datos para renderizar una interfaz.
La clave es entender que JSON es texto, no un “objeto mágico”: se envía por red como una cadena y luego se parsea/decodifica a estructuras nativas del lenguaje (arrays, diccionarios, objetos).
Estructura: objetos, arrays y tipos de datos
1) Objetos (entre llaves)
Un objeto es un conjunto de pares clave/valor. Las claves son strings (texto) y se escriben con comillas dobles.
{
"id": 123,
"nombre": "Ivan",
"activo": true
}
2) Arrays (entre corchetes)
Un array es una lista ordenada. Sus elementos pueden ser números, texto, booleanos, objetos, otros arrays, etc.
[
{"sku": "ABC", "qty": 2},
{"sku": "XYZ", "qty": 1}
]
3) Tipos válidos en JSON
- string:
"texto" - number:
1,3.14 - boolean:
true,false - null:
null - object:
{ ... } - array:
[ ... ]
Importante: JSON no tiene fechas nativas. Las fechas suelen representarse como string (por ejemplo ISO 8601)
"2026-02-17T10:00:00+01:00".
Reglas estrictas de JSON (las que más rompen integraciones)
Mucha gente confunde JSON con “objetos estilo JavaScript”. Se parecen, pero JSON es más estricto. Estas reglas te ahorran horas:
- Comillas dobles para claves y strings.
'texto'no es válido. - No se permiten comas finales:
{"a":1,}es inválido. - No admite comentarios: nada de
//ni/* */. - Los booleanos son
true/false(minúsculas). - Null es
null(minúsculas). - Las claves deben ser texto. Nada de claves numéricas sin comillas.
Si estás copiando “JSON” de algún lado y falla, normalmente es por una de estas reglas.
Ejemplos prácticos de JSON (API, configuración y datos)
Ejemplo 1: Respuesta típica de una API
{
"success": true,
"data": {
"user": {"id": 7, "name": "Ana"},
"roles": ["admin", "editor"]
},
"error": null
}
Ejemplo 2: Configuración de una app
{
"appName": "Tecno Inteligente",
"features": {
"cache": true,
"rateLimit": {"enabled": true, "rpm": 60}
},
"theme": "dark"
}
Ejemplo 3: Datos para enviar en un POST
{
"productId": "ABC-001",
"quantity": 2,
"address": {
"city": "Madrid",
"zip": "28001"
}
}
En todos los casos la idea es la misma: texto estructurado que viaja entre sistemas.
Buenas prácticas para JSON en producción
1) Usa nombres de campos consistentes
Elige una convención (por ejemplo camelCase o snake_case) y manténla.
Cambiar nombres rompe integraciones.
2) Evita estructuras innecesariamente profundas
Estructuras demasiado anidadas son difíciles de leer y manipular. Si tienes 6 niveles de anidación, quizá tu modelo necesita simplificarse.
3) Define un contrato (schema) si el proyecto crece
Cuando varias apps consumen el mismo JSON, conviene documentar un contrato: qué campos son obligatorios, cuáles opcionales, tipos, ejemplos. Así reduces bugs y tickets.
4) Formatea en desarrollo, minifica en transporte
En desarrollo, el JSON “pretty” es ideal para depurar. En transporte o almacenamiento, minificar puede ahorrar ancho de banda y espacio.
5) Nunca confíes en JSON externo sin validarlo
Si recibes JSON de terceros (webhooks, integraciones), valida estructura y tamaños. Esto evita errores y también problemas de rendimiento.
Errores frecuentes y cómo detectarlos
Estos errores son los más típicos en soporte técnico:
| Error | Ejemplo inválido | Solución |
|---|---|---|
| Comillas simples | {'a': 1} |
Usa comillas dobles: {"a":1} |
| Coma final | {"a":1,} |
Quita la coma |
| Llave sin cerrar | {"a": {"b": 2} |
Cierra con } |
| Boolean mal escrito | {"ok": True} |
Debe ser true en minúscula |
En la práctica, lo mejor es pegar el JSON en un validador y ver el error en el acto.
Cómo validar y formatear JSON (en un clic)
Si estás depurando una API, configurando un webhook o revisando un payload, necesitas una herramienta que:
- Te diga si el JSON es válido
- Te muestre errores de forma legible
- Te lo formatee o lo minifique según necesites
Puedes usar nuestro Validador y Formateador de JSON para pegar tu texto, validarlo, y obtener el resultado listo para copiar.
Preguntas frecuentes
¿JSON y JavaScript son lo mismo?
No. JSON se parece a la sintaxis de objetos en JavaScript, pero es más estricto. JSON no permite comillas simples ni comentarios, por ejemplo.
¿Por qué mi “JSON” funciona en un lugar y falla en otro?
Algunas herramientas toleran errores (como comas finales). Un parser estricto fallará. Por eso conviene validar.
¿Cómo convierto un objeto a JSON en PHP?
Usando json_encode() (y revisando errores si aplica). Y para parsear JSON:
json_decode().
Siguiente paso recomendado: prueba tu payload en el Validador de JSON.
JSON vs XML vs YAML: ¿cuándo conviene cada uno?
Si estás trabajando en integraciones, tarde o temprano te encontrarás con otros formatos además de JSON. Los tres más comunes son JSON, XML y YAML. Cada uno tiene fortalezas y casos de uso claros.
JSON
- Pros: simple, universal, ideal para APIs REST, fácil de parsear.
- Contras: no admite comentarios, fechas nativas ni referencias.
XML
- Pros: muy expresivo, soporta esquemas complejos, namespaces, validación histórica.
- Contras: más verboso, más difícil de leer y mantener, payloads más grandes.
YAML
- Pros: excelente legibilidad para humanos, útil en configuración (CI/CD, Docker, Kubernetes).
- Contras: parsing más delicado (indentación), más riesgo de errores sutiles, no siempre ideal para APIs públicas.
Para APIs modernas, JSON suele ser la opción estándar. Para configuración editable por humanos, YAML es muy popular. Y para integraciones legacy o documentos muy estructurados, XML sigue presente.
JSON en PHP: json_encode y json_decode con manejo de errores
En PHP, convertir datos a JSON y viceversa es directo, pero conviene hacerlo de forma segura, revisando errores y evitando sorpresas con caracteres Unicode o números grandes.
Convertir a JSON (encode)
$data = [
"id" => 123,
"name" => "Ivan",
"items" => [["sku" => "ABC", "qty" => 2]],
];
$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
if ($json === false) {
throw new RuntimeException("Error al codificar JSON: " . json_last_error_msg());
}
Parsear JSON (decode)
$payload = file_get_contents("php://input");
$decoded = json_decode($payload, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new InvalidArgumentException("JSON inválido: " . json_last_error_msg());
}
Tip: validar antes de guardar o procesar
Antes de persistir un JSON en base de datos o ejecutar lógica de negocio, valida estructura, tipos y campos mínimos. Si tu proyecto crece, considera definir un contrato y comprobarlo (por ejemplo con un schema).
Seguridad al trabajar con JSON
JSON es solo texto, pero puede convertirse en un vector de problemas si aceptas payloads gigantes o estructuras inesperadas. Algunas recomendaciones prácticas:
- Limita tamaño: por ejemplo, rechaza payloads mayores a X MB.
- Valida tipos: un campo numérico no debería aceptar una cadena arbitraria.
- Evita “polimorfismo”: que un campo a veces sea objeto y a veces array complica clientes.
- No evalúes JSON: nunca uses técnicas tipo
evalcon datos externos.
Una validación rápida de sintaxis y formato es el primer paso. Para eso, usa el Validador y Formateador de JSON.
Recursos recomendados
- Documentación de tu API: define ejemplos reales y campos obligatorios.
- Logs estructurados: guarda IDs y claves importantes para depurar.
- Herramientas: valida y formatea antes de copiar a producción.
Más preguntas frecuentes
¿JSON puede tener saltos de línea dentro de strings?
Un string JSON no puede contener saltos de línea “crudos”. Deben escaparse como \n.
Si pegas textos largos, valida para evitar errores inesperados.
¿Qué pasa con números muy grandes?
Algunos lenguajes (especialmente JavaScript) pueden perder precisión con enteros muy grandes. Si manejas IDs enormes, considera representarlos como string.
¿Cómo pruebo rápido un JSON antes de enviarlo?
Pega el contenido en el validador de JSON, formatea, revisa y copia.
JSON Schema: validar estructura, no solo sintaxis
Validar sintaxis responde a “¿esto es JSON?”. Pero en integraciones reales también importa “¿este JSON tiene la forma correcta?”. Para eso existe JSON Schema: una forma de describir qué campos se esperan, tipos, longitudes, mínimos, máximos y reglas.
Ejemplo: puedes definir que id sea un entero, que email sea un string con formato email, y que
items sea un array con al menos 1 elemento. Con eso evitas que entren payloads inválidos que luego rompen la lógica.
En proyectos pequeños no siempre hace falta, pero en APIs públicas o integraciones con terceros suele ser una inversión excelente: reduces incidencias, documentas mejor y aceleras el desarrollo de clientes.
Casos de uso reales donde JSON es clave
1) APIs REST y microservicios
La mayoría de microservicios intercambian datos en JSON porque es simple y los clientes lo entienden sin fricción. Además, con HTTP + JSON, herramientas como Postman o curl permiten depurar rápidamente.
2) Webhooks
Los webhooks suelen enviar JSON con eventos (por ejemplo “pago confirmado”). En estos casos conviene validar siempre: un cambio de proveedor puede modificar campos y romper tu listener.
3) Frontend y estado
Frameworks y SPAs trabajan con objetos que se serializan a JSON (por ejemplo para persistir estado, caches o storage). Mantener la estructura consistente evita bugs difíciles de reproducir.
4) Configuración
Algunos sistemas usan JSON para configuración. Es cómodo, pero recuerda: no hay comentarios, así que a veces YAML gana por legibilidad.
Conclusión
JSON es el estándar práctico para intercambio de datos en la web moderna. Si dominas sus reglas, tipos y buenas prácticas, vas a integrar APIs con menos errores y a depurar mucho más rápido.
Para el día a día, guarda esta regla: valida y formatea antes de enviar. Te evita errores tontos y acelera soporte. Cuando lo necesites, usa el Validador y Formateador de JSON.