Embellir du JSON est une décision d'affichage, pas une modification. L'analyseur lit votre texte pour en faire une valeur, et le formateur réécrit cette valeur avec des retours à la ligne et une indentation. Les octets changent ; les données non. Cette distinction compte, car c'est elle qui vous permet de recoller un document formaté en production sans y réfléchir : l'ordre des clés d'un objet est conservé tel qu'il a été écrit, les nombres gardent leur valeur, les chaînes gardent leur contenu exact y compris les espaces à l'intérieur des guillemets, et rien n'est réordonné ni supprimé.
Tout se passe dans l'onglet de votre navigateur. Le texte est analysé par le moteur JavaScript déjà chargé dans la page, formaté, puis réécrit dans l'éditeur. Aucune requête réseau ne l'emporte où que ce soit, et vous pouvez le prouver plutôt que le supposer : chargez la page, coupez votre connexion, et formatez quand même. Cela fonctionne toujours, parce que tout le nécessaire est déjà là.
Cette architecture est le sujet et non un détail. Le JSON que l'on formate n'est presque jamais un exemple d'école. C'est une réponse d'API que l'on est en train de déboguer, et elle transporte couramment des jetons d'authentification, des identifiants de session, des adresses e-mail de clients, des identifiants internes de base de données et la forme d'une API privée. Ce sont précisément les choses qui n'ont pas à devenir une ligne dans le journal de requêtes de quelqu'un d'autre, et un outil qui ne les reçoit jamais n'a rien à journaliser.
Deux choix de formatage méritent d'être faits sciemment. La largeur d'indentation est cosmétique, mais la cohérence avec votre base de code compte pour les diffs : deux espaces est l'usage courant dans les projets JavaScript, quatre ailleurs, et une tabulation si votre linter l'exige. Trier les clés par ordre alphabétique est une décision plus lourde. Cela rend deux documents comparables d'un coup d'oeil, et cela détruit un ordre que l'auteur a peut-être choisi délibérément : triez donc une copie quand vous comparez, et laissez l'original intact quand vous le livrez.
Ce que le formatage ne peut pas faire, c'est réparer un document qui n'est pas du JSON valide. Si l'analyseur refuse, vous avez une erreur de syntaxe et aucun reformatage ne la masquera. Virgules finales, guillemets simples autour des chaînes, clés non entourées de guillemets, commentaires et NaN sont tous courants dans une configuration écrite à la main et aucun n'est du JSON légal. Le validateur nomme la position ; la correction prend un caractère une fois que l'on sait où regarder.
Une habitude utile : formatez avant de comparer, jamais après. Deux documents qui ne diffèrent que par les espaces produisent un diff plein de bruit qui cache la seule ligne réellement modifiée. Mettre les deux à la même forme transforme cela en un diff lisible en quelques secondes, ce qui est toute la raison d'être de l'outil.