25 errores de JSON que todo desarrollador comete
JSON es la columna vertebral de la comunicación web. Es ligero y fácil de leer. Sin embargo, sus reglas son estrictas. Los errores pequeños rompen tu código.
Evita estos errores comunes para escribir mejores estructuras de datos.
Errores de sintaxis
- Usa únicamente comillas dobles. Las comillas simples funcionan en JavaScript pero fallan en JSON.
- Elimina las comas finales. Una coma después del último elemento provoca un error.
- Añade las comas que falten. Cada par clave-valor necesita una coma entre ellos.
- Pon comillas a todas las claves. Cada clave debe tener comillas dobles a su alrededor.
- Empareja tus corchetes. No uses llaves donde correspondan corchetes.
Errores de tipos de datos
- Gestiona los valores
undefined. JSON no admiteundefined. Usanullen su lugar. - Evita
NaNeInfinity. Estos valores se convierten ennulldurante la serialización. - Recuerda los formatos de fecha. JSON trata las fechas como cadenas de texto. Debes convertirlas de nuevo a objetos
Date. - Usa números en base 10. No uses formatos hexadecimales u octales.
- No almacenes funciones. JSON es solo para datos estáticos.
- Evita los comentarios. JSON no permite comentarios
//o/* */. - Escapa las comillas dobles. Usa una barra invertida para incluir comillas dentro de una cadena.
- Usa
\npara los saltos de línea. No puedes pulsar enter dentro de un valor de cadena. - Escapa las barras invertidas. Usa
\\para rutas o patrones de regex.
Errores de entorno y lógica
- Comprueba tu entrada. No pases un objeto a
JSON.parse(). - Presta atención a las mayúsculas y minúsculas.
"userId"y"userid"son claves diferentes. - No dependas del orden. JSON no garantiza la secuencia de las claves.
- Nunca uses
eval(). UsaJSON.parse()para evitar riesgos de seguridad. - Protege los números grandes. Pasa los IDs de 64 bits como cadenas para evitar la pérdida de precisión.
- Usa bloques
try...catch. Un JSON inválido hará que tu aplicación falle si no capturas los errores. - Corrige las referencias circulares. No puedes convertir en cadena un objeto que apunta a sí mismo.
- Conoce la diferencia. JSON es más restrictivo que un objeto estándar de JavaScript.
- Evita las cadenas vacías. Usa
{}o[]en lugar de"".
Cómo mantenerte seguro:
- Usa un validador para comprobar tu sintaxis.
- Usa Prettier en tu editor para autoformatear archivos.
- Envuelve siempre la lógica de análisis en un bloque
try...catch.
Fuente: https://dev.to/jsdevspace/25-json-mistakes-every-developer-makes-36e6
