Minificador de código
Minificar CSS, JavaScript y HTML.
Desarrollo
Formatear, validar y plegar JSON.
JSON es una notación estricta, y la mayoría de los fallos son uno de estos cuatro.
| Error | Motivo |
|---|---|
| Coma después del último elemento | JSON no admite coma final |
| Comillas simples | solo valen las dobles |
| Clave sin comillas | las claves van siempre entre comillas dobles |
| Comentarios en el archivo | JSON no tiene comentarios |
La coma final es con diferencia la más frecuente, porque JavaScript la admite y JSON no. Quien copia un objeto desde código se la lleva a menudo.
También son habituales NaN, undefined o una comilla simple procedentes de JavaScript: válidos en código, inválidos en JSON.
Dos direcciones con propósitos distintos.
Formatear con sangría hace legible la estructura. Es lo que quieres al desarrollar y al examinar la respuesta de una API.
Comprimir elimina espacios y saltos de línea. El ahorro al transmitir es a veces notable —fácilmente un tercio en estructuras grandes— y es lo que se envía en producción.
No cambia el significado. JSON no tiene espacios significativos; un JSON formateado y uno comprimido son idénticos para cualquier analizador.
Ordenar las claves es una decisión aparte. Útil para comparar dos archivos, pero altera el orden dentro del archivo. Para un objeto da igual; para una lista no, porque el orden de una lista sí significa algo.
Todo ocurre en tu navegador, lo que tiene dos consecuencias.
Primera, hay un límite práctico. Un archivo de varias decenas de megabytes puede ralentizar una pestaña o bloquearla, sobre todo en un móvil. Trabaja entonces con una parte del archivo.
Segunda, y más importante: no se transmite nada. Precisamente por eso no conviene pegar la respuesta de una API en un formateador en línea cualquiera — ahí aparecen con frecuencia tokens, direcciones de correo, datos de clientes o identificadores internos.
Pegar una respuesta de producción en un servicio en línea es una de las vías por las que se escapan datos sin que nadie se dé cuenta, y ocurre a diario. Aquí la cuestión no se plantea, porque no hay destinatario.
Casi siempre una coma tras el último elemento, comillas simples o un comentario. JSON no admite ninguno.
No. Para eso hace falta JSON5 o YAML.
No, los espacios no significan nada en JSON.
En un objeto sin consecuencias. El orden de una lista sí significa algo.
El límite es la memoria del navegador; varias decenas de megabytes ralentizan.
No. Por eso puedes pegar aquí una respuesta de producción.