Aller au contenu principal

Outils JSON

Ces outils JSON s’exécutent entièrement dans votre navigateur. Collez ou déposez un document : il est analysé, comparé, reformaté ou validé sur votre propre machine — la charge utile n’est jamais envoyée. Chaque outil implémente strictement la RFC 8259 au lieu de s’appuyer sur le JSON.parse du navigateur, si bien que les erreurs indiquent une ligne et une colonne.

22 outils100 % local

Comparer

Mettre en forme

Valider

Convertir

Analyser

Quand utiliser un outil json dans le navigateur ?

Presque tous les outils JSON du Web sont un formulaire qui envoie votre document à un serveur. Pour un extrait tiré d’un tutoriel, cela passe. Pour la charge utile que vous êtes en train de déboguer, c’est rarement acceptable du tout : le JSON de production a tendance à contenir des jetons d’accès, des fiches clients, des noms d’hôtes internes et des identifiants de compte, et le coller dans un endpoint inconnu remet tout cela au journal d’accès de quelqu’un d’autre. Dans un environnement réglementé, ce n’est pas une affaire de jugement personnel, c’est un incident à déclarer.

Les outils présents ici éliminent totalement la question du serveur. La page que vous chargez est du HTML et du JavaScript statiques ; quand vous collez un document, il est analysé par du code qui tourne déjà dans votre onglet. Il n’y a aucune requête à inspecter ni aucun endpoint à qui faire confiance — une position bien plus solide qu’une promesse de ne pas regarder.

Ce choix les rend aussi plus rapides. Pas d’envoi, pas de file d’attente, pas d’aller-retour : un document de 2 MB se formate le temps d’un rafraîchissement de l’affichage, et non le temps de traverser deux fois l’Atlantique. Et cela signifie qu’ils fonctionnent en avion, sur un réseau d’entreprise verrouillé et dans un VPN qui bloque tout ce qu’il ne reconnaît pas.

Les moteurs sont écrits à la main plutôt qu’assemblés à partir de paquets, ce qui compte plus qu’on ne le croit. L’analyseur est itératif plutôt que récursif, donc un document profondément imbriqué signale une erreur au lieu de faire exploser la pile d’appels JavaScript — la suite de tests en contient un qui lui fait ingérer vingt mille niveaux d’imbrication. Chaque clé issue de votre document est assignée via une garde sur les propriétés propres, si bien qu’une charge utile contenant __proto__ ne peut pas altérer le comportement de la page qui l’examine. Ce ne sont pas des préoccupations théoriques ; ce sont les deux façons dont les outils JSON cassent réellement.

Quand une norme existe, elle est suivie à la lettre : RFC 8259 pour la grammaire, RFC 6902 pour les documents de correctifs, RFC 7386 pour les correctifs de fusion, et JSON Schema Draft 2020-12 pour l’inférence et la validation. Quand un outil doit trancher un choix que la norme laisse ouvert — comment apparier les éléments de tableau lors d’une comparaison, trier ou non les clés en sortie — ce choix est exposé comme un réglage plutôt que codé en dur, et le tableau de référence de chaque page indique ce que fait le réglage dans les cas limites.

Si vous ne savez pas par où commencer : Valider du JSON pour un document qui refuse de s’analyser, Comparer du JSON pour deux documents qui devraient coïncider et ne le font pas, Formater du JSON pour quelque chose d’illisible, et Générer un schéma JSON quand vous devez décrire la forme d’une réponse que vous n’avez pas écrite.

Questions fréquentes

Quel outil JSON utiliser pour savoir pourquoi ma charge utile est rejetée ?

Commencez par le validateur JSON. Il signale la première erreur de syntaxe avec la ligne et la colonne exactes et un curseur pointant le caractère fautif, et il classe séparément les causes courantes — une virgule finale, une chaîne entre guillemets simples, une clé non quotée, un crochet mal apparié, une marque d’ordre des octets ou un guillemet courbe collé depuis un traitement de texte. Si le document est presque valide, la réparation en un clic le corrige et vous montre exactement ce qu’elle a changé avant que vous n’acceptiez.

Pourquoi le comparateur JSON ne signale-t-il aucun changement alors que les deux documents semblent différents ?

Parce que l’ordre des clés d’un objet n’a aucun sens en JSON. La RFC 8259 définit un objet comme une collection non ordonnée, donc {"a":1,"b":2} et {"b":2,"a":1} sont le même document, et un diff sémantique le dit. Un outil ligne à ligne comme Unix diff compare le texte sérialisé et signale chaque clé déplacée comme un changement, voilà pourquoi il est à peu près inutile sur des réponses d’API formatées.

Y a-t-il une limite de taille ?

Les outils qui tournent sur le thread principal s’arrêtent à 8 MB, seuil à partir duquel une seule analyse commence à donner l’impression que l’onglet est planté. Le comparateur JSON délègue à un Web Worker et accepte jusqu’à 100 MB. Au-delà de l’un ou l’autre plafond, l’outil refuse avec un message clair au lieu de se figer — une comparaison de 50 MB prend toujours un vrai temps, mais l’interface reste réactive pendant qu’elle tourne.

Ces outils gèrent-ils le JSONC — du JSON avec commentaires ?

Le formateur JSON, oui. Il accepte en entrée les commentaires // et /* */ ainsi que les virgules finales, et peut les retirer en sortie — exactement ce qu’il faut pour tsconfig.json, .eslintrc.json et autres fichiers de configuration. Le Validator est délibérément plus strict : il tient le document à la RFC 8259 à la lettre, car quand vous demandez si une API acceptera une charge utile, une réponse permissive est la mauvaise réponse.

Puis-je utiliser ces outils hors ligne ?

Oui. Chargez une page d’outil une fois et elle continue de fonctionner réseau coupé — débridez le Wi-Fi et essayez. Il n’y a personne de l’autre côté à qui parler : le site est un export statique sans routes d’API, et chaque moteur est du JavaScript qui tourne déjà dans votre onglet.

Que trouve-t-on d'autre sur ToolsByUs ?

ToolsByUs — Outils JSON