Déminifier du JSON en ligne
Collez une réponse d'API, un fichier de configuration ou une ligne de log et relisez-la correctement. Objets et tableaux sont indentés selon leur profondeur, une clé par ligne, avec coloration syntaxique sur le résultat.
Pourquoi le JSON arrive compressé
Le JSON est la langue par défaut des API, et les API optimisent les octets plutôt que les yeux. La réponse d'un point de terminaison REST ou d'un serveur GraphQL est sérialisée sans le moindre espace, ce qui est exactement adapté au réseau et exactement inadapté à un humain. C'est vrai aussi des fichiers de configuration écrits par l'outillage, des lignes de logs structurés, des blocs JSON-LD intégrés à une page, et de tout ce que vous copiez depuis l'onglet réseau de vos outils de développement.
Le formatage rend la structure évidente
Du JSON indenté répond instantanément aux questions de structure. Jusqu'où descend cet objet, ce champ est-il un tableau d'objets ou un objet de tableaux, quelle clé vaut null alors que vous attendiez une valeur, où se termine un enregistrement et où commence le suivant. Parcourir une charge utile formatée pour trouver une clé manquante ou mal orthographiée prend quelques secondes, alors que faire la même chose sur une seule ligne finit généralement par un abandon et l'écriture d'un script.
Le JSON invalide est détecté immédiatement
Comme l'entrée doit être analysée avant d'être affichée, le formatage est aussi le contrôle de validité le plus rapide dont vous disposez. Une virgule en trop, une chaîne entre guillemets simples, un guillemet non échappé dans une valeur ou une réponse tronquée arrêteront l'analyse et afficheront une erreur au lieu d'un résultat. C'est très souvent ainsi que l'on découvre que la réponse d'API que l'on déboguait était coupée, ou qu'un fichier de configuration a une virgule de trop.
JSON, JSON Lines et JSONP
Cette page formate un document JSON unique. Si votre entrée est un fichier de logs avec un objet JSON par ligne, formatez les lignes qui vous intéressent plutôt que le fichier entier, puisque le fichier dans son ensemble n'est pas un document valide. Et si une réponse commence par un nom de fonction enveloppant les données, il s'agit de JSONP et non de JSON, ce qui explique que l'outil détecte parfois une charge utile comme du JavaScript. Dans ce cas la détection est juste, et le formater en JavaScript donne malgré tout un résultat parfaitement lisible.
Questions fréquentes
Est-ce que mon JSON est validé ?
En pratique oui. Le document doit être analysable avant d'être formaté, toute erreur de syntaxe interrompt donc le traitement et est signalée à la place du résultat. C'est le moyen le plus rapide de vérifier qu'une charge utile est bien formée.
L'ordre des clés est-il conservé ?
Oui. Les clés restent dans l'ordre où elles apparaissent dans le document source, rien n'est trié ni réorganisé. Seuls les espaces et les retours à la ligne changent.
Puis-je formater de très grosses réponses d'API ?
Oui, dans des limites raisonnables. Des charges utiles de plusieurs mégaoctets sont traitées, même si cela prend un instant puisque l'analyse tourne sur votre propre machine. Rien n'est envoyé, ce qui rend sûr le collage d'une réponse contenant des données internes.
