- JSON5 es un formato que extiende el formato de archivos JSON para que sea más fácil de escribir y mantener por personas
- No se usa para comunicación entre máquinas
- Comenzó en 2012 y, para 2022, superaba los 65 millones de descargas semanales, ubicándose entre el 0.1% de los paquetes más utilizados como dependencia en npm
- Ha sido adoptado por proyectos importantes como Chromium, Next.js, Babel, Retool y WebStorm
- Tiene soporte nativo en plataformas de Apple como macOS e iOS
- Características de JSON5
- Es un superconjunto de JSON e incluye parte de la sintaxis de ECMAScript 5.1
- Un archivo JSON5 siempre es un archivo ES5 válido
- Funciones extendidas de ECMAScript 5.1
- Objetos
- Las claves de los objetos pueden ser
IdentifierName de ECMAScript 5.1
- Se permite una sola coma final en objetos
- Arreglos
- Se permite una sola coma final en arreglos
- Cadenas
- Las cadenas pueden ir entre comillas simples
- Pueden abarcar varias líneas si se escapa el salto de línea
- Pueden incluir secuencias de escape de caracteres
- Números
- Pueden expresarse en hexadecimal
- Pueden tener punto decimal inicial o final
- Pueden incluir infinito positivo, infinito negativo y NaN de IEEE 754
- Pueden comenzar con un signo más explícito
- Comentarios
- Se permiten comentarios de una sola línea y de varias líneas
- Espacios en blanco
- Se permiten caracteres adicionales de espacio en blanco
- API
JSON5.parse(): analiza una cadena JSON5 y genera un valor u objeto de JavaScript
JSON5.stringify(): convierte un valor de JavaScript en una cadena JSON5
- CLI
- Ofrece un CLI para convertir JSON5 a JSON o validar la sintaxis de documentos JSON5
- Compatibilidad con ECMAScript
- JSON5 fue diseñado para ser completamente compatible con ES5, pero los caracteres U+2028 y U+2029 no están permitidos en ES5
- En ES2019 estos caracteres pasaron a estar permitidos, por lo que JSON y JSON5 son totalmente compatibles con ES2019
- Licencia
- Se ofrece bajo licencia MIT
2 comentarios
Lo que aprendí al crear JSON5: ignora a los detractores
Comentarios en Hacker News