Que faire si l'outil de formatage JSON ne répond pas ? Causes des erreurs JSON invalides et méthodes de correction
Lorsque vous collez du JSON dans un outil de formatage et qu'il ne répond pas ou affiche une erreur rouge, dans la grande majorité des cas, ce n'est pas l'outil qui est en panne, mais le JSON que vous avez saisi qui contient une erreur de syntaxe. Le flux de travail d'un outil de formatage consiste d'abord à analyser, puis à embellir. L'étape d'analyse est extrêmement stricte : si un seul caractère ne respecte pas la norme, le document entier ne passe pas la validation, et l'outil ne produit naturellement rien. Par conséquent, face à une absence de réponse, votre première réaction devrait être de vérifier la syntaxe JSON, et non de changer d'outil.
Pourquoi l'outil de formatage ne répond pas
L'outil de formatage et l'outil de validation partagent le même mécanisme central : lire le texte, l'analyser selon la norme JSON, confirmer sa validité, puis effectuer la mise en forme. Dès que l'analyse échoue, l'outil n'a aucun contenu à produire, ce qui se manifeste par une absence de réponse ou une erreur directe.
Les règles syntaxiques de JSON sont bien plus strictes que celles des littéraux d'objet JavaScript. Les habitudes d'écriture que vous avez en JS, comme les virgules finales, les guillemets simples, les clés sans guillemets, sont toutes illégales en JSON. Le texte copié depuis des messageries, des PDF ou des logiciels de traitement de texte peut également contenir des caractères spéciaux invisibles à l'œil nu, ce qui provoque aussi l'échec de l'analyse.
Les erreurs de syntaxe JSON les plus courantes
En identifiant les catégories de problèmes ci-dessous, vous pourrez corriger la plupart des données corrompues en une minute.
Virgule finale
Ajouter une virgule après le dernier élément d'un objet ou d'un tableau est légal en JavaScript, mais illégal en JSON. C'est la cause la plus fréquente de l'absence de réponse d'un outil de formatage.
{"name": "Ada", "role": "engineer",} échouera, tandis que {"name": "Ada", "role": "engineer"} passera.
Guillemets simples au lieu de guillemets doubles
JSON exige que chaque clé et chaque valeur de chaîne soient entourées de guillemets doubles. Les guillemets simples sont illégaux, même si de nombreux langages de programmation les acceptent.
Clés sans guillemets
Les clés doivent être des chaînes de caractères. {name: "Ada"} est illégal, {"name": "Ada"} est correct.
Commentaires
JSON ne prend pas en charge les commentaires // ou / /. Si vous copiez un fichier de configuration contenant des commentaires, supprimez-les avant de formater.
Caractères invisibles et guillemets courbes
Le texte collé depuis un logiciel de traitement de texte, une messagerie ou un PDF peut contenir des guillemets courbes, des espaces insécables ou une marque d'ordre des octets. Ces caractères semblent identiques aux caractères normaux à l'écran, mais font échouer directement l'analyseur.
- Guillemets courbes :
"et", au lieu de" - Espace insécable, au lieu d'un espace normal
- Une marque d'ordre des octets au tout début du fichier
Si la ligne signalée par l'erreur semble parfaitement normale, il faut suspecter la présence de caractères invisibles. Ressaisissez manuellement cette ligne, puis réessayez.
Méthode étape par étape pour corriger un JSON invalide
Suivez ces étapes dans l'ordre. La plupart des données seront corrigées à la troisième étape.
- Collez le texte complet dans l'outil de formatage. Ne le tronquez pas au préalable. La position de l'erreur est relative au document entier ; tronquer le texte décalera le numéro de chaque ligne.
- Lisez attentivement le message d'erreur. Notez le numéro de ligne et la position du caractère. Si l'outil n'indique pas la position, changez pour un outil qui le fait.
- Examinez la ligne signalée par l'erreur pour trouver les coupables habituels. Vérifiez la présence de virgules finales, de guillemets simples ou de clés sans guillemets.
- Si cette ligne semble correcte, vérifiez la ligne précédente. Une virgule manquante à la fin de la ligne précédente est souvent signalée sur la ligne suivante.
- Ressaisissez manuellement la ligne signalée. Cela permet d'éliminer les caractères invisibles introduits par le copier-coller.
- Relancez le formatage. Si cela échoue encore, répétez les étapes 2 à 5. Chaque correction déplacera la position de l'erreur vers l'avant, jusqu'à ce que le document soit entièrement valide.
Si après ces étapes l'échec persiste, le problème n'est peut-être pas la syntaxe, mais la taille du fichier. Les outils de navigateur commencent généralement à ralentir autour de quelques mégaoctets, car le document entier doit être chargé en mémoire d'un seul coup. Pour les fichiers très volumineux, il est recommandé d'utiliser des outils en ligne de commande ou des logiciels de bureau.
Quelle est la différence entre un outil de formatage et un outil de validation
L'outil de formatage réécrit le JSON valide en une version avec indentation et sauts de ligne, pour le rendre lisible. L'outil de validation vérifie uniquement si le JSON est syntaxiquement correct et signale les erreurs. De nombreux outils font les deux à la fois : d'abord la validation, puis le formatage si elle passe.
Cet ordre est important. Lorsque vous avez besoin d'une réponse par oui ou non, par exemple dans une étape de build ou une revue de code, utilisez l'outil de validation. Lorsque vous avez besoin de faire comprendre les données à un humain, utilisez l'outil de formatage.
En pratique, cette différence modifie rarement votre flux de travail. Si le JSON est invalide, les deux outils ne produiront aucun résultat, et vous devrez de toute façon corriger la syntaxe en premier. La vraie question utile est : l'outil vous indique-t-il où se trouve le problème, et pas seulement s'il y en a un. Un bon message d'erreur inclura le numéro de ligne et la position du caractère.
Formater du JSON dans le navigateur
Collez le JSON dans le panneau de saisie, l'outil l'analysera et renverra la sortie indentée dans le même onglet. Les données ne sont pas envoyées à un serveur, tout reste sur votre propre machine. Vous pouvez ensuite copier le résultat ou le télécharger sous forme de fichier.
Si vous souhaitez formater du JSON dans le navigateur sans rien installer, la réponse est : n'importe quel navigateur moderne peut le faire. L'analyse est effectuée sur votre propre appareil par JavaScript. Cela fait des outils de navigateur un choix raisonnable pour traiter des configurations internes et des données d'exemple.
Formater du JSON pour le débogage d'API
Lire directement une réponse d'API brute est très pénible. La plupart des serveurs renvoient du JSON compressé, sur une seule ligne, sans aucun espace. Le formatage transforme cette ligne en une structure que vous pouvez parcourir du regard.
Lorsque vous formatez du JSON pour le débogage d'API, vous devez examiner trois choses :
- La profondeur d'imbrication. Des objets trop profondément imbriqués signifient souvent que la structure de la réponse ne correspond pas à vos attentes.
- Les valeurs nulles. Un champ censé contenir des données qui renvoie
nullindique généralement un problème côté serveur. - Les incompatibilités de type. Un nombre renvoyé sous forme de chaîne, par exemple
"42"au lieu de42, peut casser la logique de comparaison en aval.
La vue formatée rend ces trois éléments visibles d'un coup d'œil. Utilisez-la avec le panneau réseau du navigateur : copiez le corps de la réponse, collez-le dans l'outil de formatage, et comprenez la structure avant d'écrire la moindre ligne de code.
Un conseil pratique : formatez la réponse avant de l'inspecter dans le débogueur. Le débogage pas à pas de données compressées est une perte de temps.
Conseils pratiques pour le formatage et la validation
- Validez le JSON avant de le committer dans le dépôt de versions, ainsi l'étape de build n'échouera pas à cause d'une virgule finale.
- Formatez lors de la lecture ou de la revue d'une configuration, l'indentation rend les relations hiérarchiques évidentes.
- Rappelez-vous que le formatage ne change pas la signification des données. Il ne modifie que les espaces et les sauts de ligne. Si après formatage une valeur semble incorrecte, c'est un problème de données, pas d'outil.
- Lorsque vous avez juste besoin de vérifier rapidement si un JSON est valide, l'outil de validation suffit, pas besoin de générer une sortie complète.
Questions fréquentes
Pourquoi mon outil de formatage JSON n'affiche-t-il rien ?
Parce que l'analyse a échoué et que l'outil n'a aucun contenu à produire. Vérifiez les virgules finales, les guillemets simples, les clés sans guillemets et les caractères invisibles introduits lors du copier-coller.
Un outil de formatage peut-il corriger un JSON invalide ?
Non. L'outil de formatage ne met en forme que les entrées valides. Les erreurs de syntaxe doivent d'abord être corrigées par vous ou par un outil de validation.
Pourquoi la ligne signalée par l'erreur semble-t-elle parfaitement normale ?
Le problème se trouve probablement sur la ligne précédente, par exemple une virgule manquante, ou bien cette ligne contient des caractères invisibles. Ressaisir manuellement cette ligne résout généralement le problème.
Quelle taille de fichier un outil de navigateur peut-il traiter ?
Il n'y a pas de limite universelle, mais le document entier doit être chargé en mémoire d'un seul coup, donc plus le fichier est volumineux, plus les ralentissements sont probables. Pour les fichiers très volumineux, il est plus sûr d'utiliser un outil en ligne de commande ou de bureau.
Le formatage modifie-t-il mes données ?
Non. Le formatage ne fait qu'ajuster les espaces et les sauts de ligne, sans modifier aucune clé ni valeur. Mais il ne vous aidera pas non plus à détecter les erreurs de type, comme un nombre écrit sous forme de chaîne, cela nécessite votre propre vérification.