Formato nuevo
JSON: qué es, cómo abrirlo y dónde se usa
JSON (JavaScript Object Notation) es un formato de texto para intercambiar datos estructurados entre programas e idiomas. Nació en el mundo JavaScript, pero no depende de JS: Python, PHP, Go, apps móviles y APIs lo leen.
Abajo: por qué JSON aparece en sitios, cómo funciona la sintaxis, cómo abrir un archivo y por qué nunca debes meter una respuesta ajena en `eval`. Listas de IE antiguo y editores obsoletos se saltan como ruido.
Dónde se usa JSON
Clásico web: el navegador pide datos al servidor (Ajax / `fetch`), recibe JSON y actualiza la página sin recarga completa — feed, catálogo, carrito, dashboard.
También: respuestas REST/GraphQL, configs de front, almacenamiento local de settings e intercambio entre microservicios y un cliente móvil.
Escenarios típicos:
- APIs de sitio y app móvil
- cargar bloques sin recarga completa
- exports e integraciones
- configs de herramientas de desarrollo
Sintaxis: objetos y arrays
Dos bloques: objeto `{ "key": value }` y array `[ value1, value2 ]`. Las claves del objeto son strings entre comillas. Valores: string, número, `true`/`false`, `null`, objeto o array anidado.
Guarda teléfonos y ceros a la izquierda como strings: `"84959000000"`, no números — o pierdes el formato. El JSON estricto no permite coma final tras el último elemento.
Espacios y saltos de línea ayudan a humanos; por el cable a menudo se envía una línea compacta — el mismo significado.
Errores frecuentes de principiante:
- comillas simples en lugar de dobles
- una coma tras el último campo
- comentarios `//` en JSON estricto
- números donde hace falta string (teléfono, SKU)
Ajax, APIs y seguridad
El cliente pide una URL; el servidor responde con un body JSON y una cabecera como `Content-Type: application/json`. En JS moderno, `fetch` + `response.json()` basta — sin `eval`.
Los workarounds históricos de same-origin (JSONP, inyectar `<script>`) ampliaron la superficie de ataque. En proyectos nuevos usa CORS y JSON plano sobre HTTPS.
Nunca ejecutes JSON ajeno como código. Parsea con un parser nativo y valida campos en el servidor si los datos van a una DB o afectan permisos.
Reglas de seguridad:
- solo `JSON.parse` / el equivalente del lenguaje
- no confíes en campos del cliente sin checks
- HTTPS para respuestas sensibles
- no metas secretos en JSON público del front
Cómo abrir y editar .json
El archivo es texto UTF-8 plano. Basta VS Code, Cursor, Notepad++, Sublime o un editor de sistema. Los IDEs resaltan brackets y marcan errores de sintaxis.
No hacen falta herramientas todo-en-uno pesadas como viejos editores XML. Para un check rápido, usa el formatter del editor y validadores online — no pegues ahí secretos de producción.
Mínimo práctico:
- un editor con resaltado JSON
- pretty-print para leer
- validación antes de enviar un feed o config
- diff en git, no ediciones a ciegas en el servidor
FAQ
¿JSON es un lenguaje de programación?
No. Es un formato de datos: objetos, arrays, strings, números, booleanos, null. No escribes programas en él — intercambias datos con él.
¿En qué se diferencia de XML?
Suele ser más compacto y simple para JS/APIs. XML es más fuerte con schemas y markup mixto. Para APIs web hoy, JSON es más habitual.
¿Cómo abro un archivo .json?
Cualquier editor de texto o IDE con resaltado. En el navegador — una extensión/visor o pegarlo en un validador online. Para trabajo de producción, preferir un editor con formatter.
¿Puedo parsear JSON con eval?
No en proyectos reales. Usa `JSON.parse` o los parsers nativos del lenguaje. `eval` ejecuta código y abre riesgo XSS/inyección.
¿Qué es JSON5?
Una extensión con comentarios y sintaxis más laxa. Cómoda en configs editadas a mano; para intercambio por API suele quedarse el JSON estricto.
¿Payloads de API que fallan por comas, comillas o parse con eval?
Fijamos sintaxis JSON estricta, rutas de parse seguras y configs limpias para front e integraciones.
Hablar del proyecto