Votre build échoue avec « Unexpected token in JSON at position 4,821 ». Formidable, merci. Vous voilà donc à faire défiler un fichier de configuration de quatre mille caractères en comptant les crochets de tête, en essayant de trouver lequel n'est pas apparié. C'est l'un des gouffres à temps les plus évitables du développement logiciel, et cela arrive constamment parce que le JSON n'a aucune tolérance pour les petites erreurs.
Une virgule traînante après le dernier élément d'un tableau. Un guillemet manquant autour d'une clé. Une accolade fermante en trop copiée d'ailleurs. N'importe laquelle de ces erreurs casse complètement l'analyse, et le message d'erreur pointe rarement vers le vrai problème — il indique où l'analyseur a abandonné, ce qui est souvent à plusieurs lignes de la véritable erreur.
Pourquoi les numéros de position n'aident pas
La plupart des analyseurs JSON signalent les erreurs sous forme de décalage de caractères, pas d'une ligne et d'une colonne vers lesquelles vous pouvez sauter dans votre éditeur. Convertir la position 4 821 en « ligne 112, quelque part près du troisième objet » nécessite soit de compter manuellement, soit d'écrire un script jetable. Aucune des deux n'est un bon usage de votre après-midi.
Certains éditeurs surlignent les erreurs de syntaxe JSON en ligne, ce qui aide pour les fichiers que vous êtes en train d'écrire activement. Mais pour du JSON reçu d'une API, d'un collègue, ou d'une ancienne configuration héritée, vous avez besoin d'un outil qui prend le texte brut et vous dit exactement ce qui ne va pas et où.
Valider du JSON sans quitter votre Mac
Un formateur JSON qui valide aussi élimine les suppositions. Collez le JSON, et s'il est malformé, vous obtenez une erreur claire pointant vers la ligne et le caractère précis plutôt qu'un simple décalage d'octets brut. S'il est valide, il s'affiche proprement avec l'indentation adéquate pour que vous puissiez parcourir visuellement la structure. Bellows gère les deux cas dans le même outil — vous n'avez pas besoin de savoir à l'avance si votre JSON est cassé.
Repérer les erreurs avant qu'elles ne partent en production
Les fichiers de configuration, les corps de requêtes API, et les données de fixtures vivent ou meurent selon la validité du JSON. Faire un rapide passage de validation avant de valider un changement de configuration ou d'envoyer une requête de test permet de repérer le genre de coquille qui se manifesterait sinon comme une erreur d'exécution confuse bien plus tard dans le pipeline.
Travailler avec des entrées non fiables
Quand un collègue vous colle un blob JSON sur Slack, ou que vous en récupérez un depuis une API tierce à laquelle vous ne faites pas entièrement confiance, le valider localement signifie que vous n'avez jamais à envoyer ces données vers un site externe juste pour vérifier qu'elles s'analysent correctement.