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 pas undefined. Utilisez null à la place.
  • Évitez NaN et Infinity. Ces valeurs deviennent null lors 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 \n pour 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(). Utilisez JSON.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