25 erreurs JSON que commettent tous les développeurs
Le JSON est le pilier de la communication web. Il est léger et facile à lire. Cependant, ses règles sont strictes. De petites erreurs peuvent casser votre code.
Évitez ces erreurs courantes pour écrire de meilleures structures de données.
Erreurs de syntaxe
- Utilisez uniquement des guillemets doubles. Les guillemets simples fonctionnent en JavaScript mais échouent en JSON.
- Supprimez les virgules traînantes. Une virgule après le dernier élément provoque un plantage.
- Ajoutez les virgules manquantes. Chaque paire clé-valeur doit être séparée par une virgule.
- Mettez toutes les clés entre guillemets. Chaque clé doit être entourée de guillemets doubles.
- Respectez la correspondance des parenthèses et crochets. N'utilisez pas d'accolades là où des crochets sont requis.
Erreurs de types de données
- Gérez les valeurs
undefined. Le JSON ne supporte pasundefined. Utiliseznullà la place. - Évitez
NaNetInfinity. Ces valeurs deviennentnulllors de la sérialisation. - N'oubliez pas les formats de date. Le JSON traite les dates comme des chaînes de caractères. Vous devez les convertir à nouveau en objets
Date. - Utilisez des nombres en base 10. N'utilisez pas de formats hexadécimaux ou octaux.
- Ne stockez pas de fonctions. Le JSON est réservé aux données statiques uniquement.
- Évitez les commentaires. Le JSON ne permet pas les commentaires
//ou/* */. - Échappez les guillemets doubles. Utilisez un antislash pour inclure des guillemets à l'intérieur d'une chaîne.
- Utilisez
\npour les sauts de ligne. Vous ne pouvez pas appuyer sur "Entrée" à l'intérieur d'une valeur de chaîne. - Échappez les antislashs. Utilisez
\\pour les chemins ou les expressions régulières.
Erreurs d'environnement et de logique
- Vérifiez vos entrées. Ne passez pas un objet à
JSON.parse(). - Faites attention à la casse.
"userId"et"userid"sont des clés différentes. - Ne vous fiez pas à l'ordre. Le JSON ne garantit pas la séquence des clés.
- N'utilisez jamais
eval(). UtilisezJSON.parse()pour prévenir les risques de sécurité. - Protégez les grands nombres. Passez les identifiants 64 bits sous forme de chaînes de caractères pour éviter la perte de précision.
- Utilisez des blocs
try...catch. Un JSON invalide fera planter votre application si vous ne capturez pas les erreurs. - Corrigez les références circulaires. Vous ne pouvez pas sérialiser un objet qui pointe vers lui-même.
- Connaissez la différence. Le JSON est plus restrictif qu'un objet JavaScript standard.
- Évitez les chaînes vides. Utilisez
{}ou[]au lieu de"".
Comment rester en sécurité :
- Utilisez un validateur pour vérifier votre syntaxe.
- Utilisez Prettier dans votre éditeur pour formater automatiquement vos fichiers.
- Enveloppez toujours la logique de parsing dans un bloc
try...catch.
Source: https://dev.to/jsdevspace/25-json-mistakes-every-developer-makes-36e6
