JSON Formatter
Embellissez, minifiez et validez le JSON - et s'il ne peut pas être analysé, sachez exactement où.
Entrée
0 caractèreSortie
Embellissez, minifiez et validez le JSON - et s'il ne peut pas être analysé, sachez exactement où.
Le JSON extrait d'un journal d'API ou d'un fichier de configuration est généralement une seule longue ligne, et le JSON qui ne s'analyse pas échoue généralement à un endroit que vous ne voyez pas. Cet outil l'indente pour que vous puissiez le lire, le minifie quand vous en avez besoin en plus petit, et quand il est cassé, il vous indique la ligne et la colonne et vous montre cette ligne.
La plupart du temps, vous n'êtes pas ici pour rendre le JSON joli - vous êtes ici parce que quelque chose l'a rejeté sans dire pourquoi. L'analyseur indique la ligne, la colonne et ce qu'il attendait, et l'outil affiche cette ligne avec les deux qui l'entourent. Une virgule manquante quatre cents lignes dans une configuration est une correction de trente secondes une fois que vous savez où elle se trouve.
Le JSON n'a jamais autorisé ni l'un ni l'autre, mais les fichiers que l'on vous remet réellement - tsconfig, les paramètres de VS Code, tout ce qui est édité à la main - en sont pleins. Cocher l'option les supprime avant l'analyse, et l'outil indique alors combien de commentaires et combien de virgules il a supprimés. C'est optionnel et indiqué avec précision, car un formateur qui modifie silencieusement votre document est pire qu'un formateur qui le refuse.
Il ne devine pas ce que vous vouliez dire. Au-delà des deux suppressions ci-dessus, rien n'est réparé : une accolade non fermée, une clé entre guillemets simples ou une clé sans guillemets est signalée, pas réécrite. Trier les clés et réindenter ne réordonnent jamais un tableau et ne modifient jamais une chaîne. La section suivante liste les rares cas où le résultat peut encore différer de ce que vous avez collé.
Votre JSON est analysé puis réécrit, donc certaines choses reviennent normalisées. Les nombres sont réécrits : 1.50 devient 1.5, 1E3 devient 1000.0 et -0 devient 0, et un décimal comportant plus de chiffres qu'un flottant 64 bits ne peut en contenir est arrondi (0.1000000000000000055 devient 0.1). Les entiers sont conservés exactement jusqu'à 4 300 chiffres (au-delà, ils sont refusés). Si un objet répète une clé, seule la dernière valeur est conservée, sans avertissement. NaN, Infinity et -Infinity sont acceptés et conservés alors que le JSON standard (RFC 8259) ne les autorise pas, et un nombre trop grand pour un flottant, comme 1e400, ressort en Infinity. Si l'un de ces points compte pour le système que vous alimentez, vérifiez-le vous-même avant de vous fier à un résultat sans erreur.
Il est envoyé au serveur pour être analysé, puis renvoyé directement dans la même réponse. Rien n'est écrit sur disque, mis en cache ou journalisé, et l'enregistrement d'utilisation ne conserve que des comptages - taille, profondeur d'imbrication, mode choisi - jamais le document.
Généralement des commentaires, des virgules finales, des guillemets simples ou des clés non citées - tous courants dans les fichiers de configuration et aucun n'étant du JSON valide. Cochez « accepter les commentaires et les virgules finales » pour les deux premiers ; les autres sont réellement invalides et doivent être corrigés.
Jusqu'à 2 000 000 caractères par requête ; au-delà, le texte est refusé avec sa longueur exacte. Pour des fichiers de cette taille, un outil en ligne de commande comme jq est le meilleur instrument.
Les pipelines de journaux et les chargeurs en continu lisent un objet JSON par ligne plutôt qu'un seul grand tableau. Choisissez-le et un tableau de premier niveau revient sous forme d'un enregistrement compact par ligne.
Non. L'ordre des clés d'un objet n'a pas de signification en JSON, et l'ordre d'un tableau - qui en a une - n'est jamais modifié. Le tri existe pour que deux versions du même document puissent être comparées sans bruit.
Dans Excel pour Microsoft 365, enregistrez-le en fichier .json et choisissez Data > Get Data > From File > From JSON (Données > Obtenir des données > À partir d'un fichier > À partir de JSON). Power Query l'ouvre : un tableau de premier niveau apparaît comme List, To Table (Vers la table) le transforme en une colonne de Records, et le bouton de développement (deux flèches) dans l'en-tête de colonne répartit chaque clé dans sa propre colonne ; développer un tableau imbriqué ajoute une ligne par élément. Power Query attend un seul document JSON valide : corrigez d'abord ici toute erreur, indiquée avec sa ligne et sa colonne, puis enregistrez la sortie Embellir ou Minifier ; la sortie JSON Lines est destinée aux outils de logs. Cet outil ne convertit pas lui-même le JSON en CSV ou en Excel.
Python fournit un vérificateur : python -m json.tool data.json affiche le document avec une indentation de 4 espaces, ou s'arrête avec un message comme Expecting ',' delimiter: line 3 column 3. Avec jq installé, jq . data.json le met en forme et jq empty data.json se contente de vérifier, sans rien afficher si le fichier est valide. Aucun des deux n'accepte les commentaires ni les virgules finales, donc un fichier de configuration qui en contient échoue ; collez-le ici et cochez "Autoriser les commentaires et virgules finales" pour voir ce qui a été retiré.
L'analyseur attendait une clé d'objet et a trouvé autre chose. Le plus souvent, les clés sont entre apostrophes ou sans guillemets, comme {'name': 'Asha'} copié depuis Python ou JavaScript, qui s'arrête à la ligne 1, colonne 2 : JSON exige des guillemets doubles autour de chaque clé et de chaque chaîne, et cet outil ne réécrit jamais les guillemets, corrigez-les donc vous-même. Le même message sur une accolade fermante, comme {"a": 1,}, signale une virgule finale ; cochez "Autoriser les commentaires et virgules finales" pour la retirer. Expecting value sur True, False ou None signale des valeurs Python : JSON écrit true, false et null en minuscules. En Python, json.dumps(data) produit du JSON valide, print(data) non. Les erreurs s'affichent telles que l'analyseur de Python les formule, en anglais, pour que vous puissiez rechercher le message tel quel.
L'analyseur a lu une valeur JSON complète, puis a trouvé du texte après. Causes fréquentes : un journal JSON Lines (NDJSON) avec un objet par ligne, qui s'arrête à la ligne 2, colonne 1 ; deux documents collés l'un après l'autre ; ou un commentaire // après la dernière accolade fermante, que "Autoriser les commentaires et virgules finales" supprime. Cet outil vérifie un document à la fois : collez un seul enregistrement, ou placez les enregistrements entre [ ] séparés par des virgules ; en choisissant JSON Lines, ils ressortent ensuite un par ligne.