Développement web · Gratuit · Sans inscription

Formater et valider du JSON en ligne

Indentez, minifiez ou vérifiez la syntaxe d’un JSON localement, avec un message d’erreur exploitable.

Collez du JSON standard puis choisissez un format lisible avec deux espaces, une version minifiée ou une simple validation syntaxique. L’outil utilise `JSON.parse()` et `JSON.stringify()` dans le navigateur : il n’accepte ni commentaires, ni virgule finale, ni JSON5. Le parsing peut masquer des clés en double et modifier les entiers au-delà de la précision sûre de JavaScript ; gardez donc toujours la source.

🔒 Le traitement s’effectue dans ce navigateur ; vos données ne sont pas envoyées à FunnyTools.

Utiliser l’outil

Ce que vous pouvez faire ici

  • Analyser du JSON standard avec le moteur JavaScript du navigateur.
  • Produire une sortie lisible indentée avec deux espaces.
  • Minifier un document valide sur une seule représentation compacte.
  • Confirmer la syntaxe sans exécuter le contenu JSON.
  • Afficher le message du parseur et, si disponible, une ligne et une colonne.

Réponse rapide : formater ou valider un JSON

Collez une copie anonymisée du JSON. Cliquez sur « Formater avec 2 espaces » pour lire l’arborescence, sur « Minifier » pour obtenir une représentation compacte ou sur « Valider la syntaxe » pour savoir seulement si le texte est analysable. Les trois actions passent par le parseur JSON du navigateur. Un document invalide n’est pas réparé automatiquement : le message d’erreur est affiché pour éviter une correction inventée.

Un affichage propre ne prouve ni la conformité à une API, ni la présence des bons champs. Il prouve uniquement que `JSON.parse()` a accepté la chaîne à cet instant. Conservez le payload original, comparez types et valeurs, puis utilisez le JSON Schema, la documentation ou un environnement de test du système destinataire pour valider le contrat complet.

JSON standard : guillemets, virgules et valeurs racines

Le JSON standard exige des guillemets doubles autour des noms de propriétés et des chaînes. Il n’autorise ni commentaires, ni virgule après le dernier élément, ni `undefined`, ni fonction, ni guillemets simples. `{"actif":true}` est valide ; `{actif:true}`, `{'actif':true}` et `{"actif":true,}` ne le sont pas. Cette page ne traite pas JSON5, YAML ou un objet littéral JavaScript.

La racine ne doit pas obligatoirement être un objet : un tableau, une chaîne, un nombre, `true`, `false` ou `null` sont aussi des valeurs JSON valides. L’outil ne refuse donc pas `"bonjour"` ou `42`. Si votre API impose un objet avec certaines propriétés, cette obligation vient du contrat externe et non de la grammaire JSON.

  • Les noms de propriétés et chaînes utilisent des guillemets doubles.
  • Les commentaires et virgules finales sont refusés.
  • Un tableau ou une valeur primitive peut être une racine valide.
  • Valide syntaxiquement ne signifie pas conforme au schéma.

Formatage à deux espaces et minification

Le formatage analyse d’abord la valeur puis la sérialise avec deux espaces par niveau. La minification sérialise la même structure sans espace décoratif. Ces opérations ne conservent ni l’indentation d’origine, ni les retours, ni les espaces autour des séparateurs. L’ordre courant des propriétés est celui produit par le moteur JavaScript, mais il ne faut pas utiliser cet ordre comme garantie métier ou signature byte à byte.

La sortie est une nouvelle sérialisation, pas un simple changement visuel. Des échappements peuvent apparaître différemment tout en représentant le même texte, et `-0` peut notamment être régénéré comme `0`. Si les octets exacts servent à une signature, un hash, un cache ou un test de snapshot, ne remplacez pas la source par la sortie sans connaître la canonisation exigée.

Clés en double et perte silencieuse

Deux propriétés portant exactement le même nom peuvent être acceptées par le parseur, mais la dernière occurrence remplace généralement la précédente dans l’objet obtenu. Après formatage, le doublon peut donc avoir disparu. Par exemple, une source avec deux clés `statut` ne doit pas être considérée comme assainie parce que la sortie n’en montre plus qu’une.

Le widget ne possède pas d’analyse préalable capable de signaler tous les doublons avant `JSON.parse()`. Pour une configuration, un webhook ou un document probant, détectez-les dans la source avec un outil spécialisé ou corrigez le générateur. Comparez aussi le nombre de propriétés et demandez au producteur de garantir des noms uniques.

Grands nombres, précision et types

JavaScript représente les nombres JSON avec le type `Number`. Les entiers au-delà de `9 007 199 254 740 991` peuvent perdre de la précision pendant le parsing, puis être réécrits avec une autre valeur. Les identifiants de 18 chiffres, numéros de transaction ou compteurs exacts doivent souvent être transmis comme chaînes entre guillemets, selon le contrat de l’API.

Le formateur ne sait pas qu’une propriété nommée `id` doit être une chaîne, qu’une date suit ISO 8601 ou qu’une valeur doit être positive. Il ne convertit pas non plus un nombre en chaîne de sa propre initiative. Vérifiez les types dans la documentation, testez les bornes et évitez de reformater une donnée exacte avant d’avoir confirmé sa représentation attendue.

Erreurs, confidentialité et données non fiables

Le message d’erreur vient du moteur JavaScript. Lorsque celui-ci fournit une position numérique, l’outil calcule une ligne et une colonne à titre indicatif. Le texte et la précision du message peuvent varier entre Chrome, Firefox ou Safari ; certaines erreurs n’incluent aucune position. Corrigez une copie, relancez la validation et vérifiez le caractère autour de la zone signalée.

L’analyse et la sérialisation ont lieu dans cet onglet. FunnyTools ne reçoit ni ne stocke le JSON pour le formater. N’y collez cependant jamais token, cookie, mot de passe, clé privée, dossier client ou payload de production non anonymisé. Le JSON peut contenir une chaîne Base64 ou une URL dangereuse : le parseur ne l’exécute pas, mais vous devez traiter la sortie comme une donnée non fiable.

Mode d’emploi étape par étape

  1. Retirez secrets et données personnelles, puis conservez la source originale.
  2. Validez d’abord si vous souhaitez seulement confirmer la syntaxe.
  3. Formatez pour lire ou minifiez pour obtenir une représentation compacte.
  4. Contrôlez clés en double, grands entiers, types, champs et échappements.
  5. Testez ensuite le résultat contre le schéma ou le système destinataire.

Dans quelles situations cet outil est utile

  • Lire une réponse d’API anonymisée reçue sur une seule ligne.
  • Repérer une virgule finale dans une configuration de test.
  • Minifier un exemple valide pour un champ qui exige une ligne.
  • Vérifier que `null` ou un tableau racine est syntaxiquement valide.
  • Détecter le risque d’un identifiant de 18 chiffres non placé entre guillemets.

Exemples détaillés

Virgule finale refusée

La chaîne `{"actif":true,}` déclenche une erreur près de l’accolade. La source est corrigée, puis les champs sont contrôlés avec le schéma de l’intégration.

Identifiant de 18 chiffres

La valeur dépasse la précision sûre de JavaScript. L’équipe consulte le contrat et corrige le producteur pour l’envoyer comme chaîne, au lieu de faire confiance à une sortie reformattée.

Deux propriétés identiques

Deux clés `statut` seraient réduites à la dernière lors du parsing. Le générateur est corrigé avant formatage afin de ne pas masquer la première valeur.

Relecture éditoriale et test de fonctionnement:

Comment contrôler un JSON après formatage

Une sortie lisible ne garantit ni la précision des nombres, ni l’absence de clés en double, ni la conformité au contrat d’une API.

Protégez les secrets

Remplacez tokens, cookies, mots de passe et données personnelles par des valeurs fictives.

Recherchez les pertes

Contrôlez grands entiers, propriétés répétées, types et changements de représentation.

Validez le contrat

Utilisez le JSON Schema ou la documentation du récepteur pour les champs et règles.

Liste de contrôle

  • L’entrée ne contient aucune donnée sensible inutile.
  • Les identifiants longs sont des chaînes lorsque le contrat l’exige.
  • La source ne contient pas de clés en double masquées par le parseur.
  • La sortie a été testée dans le système ou avec le schéma cible.

Limites et vérifications importantes

  • La validation porte sur la syntaxe JSON, pas sur JSON Schema ni les règles métier.
  • Le formatage utilise deux espaces et régénère toute la représentation.
  • Les clés en double peuvent être réduites à leur dernière occurrence.
  • Les entiers hors de la précision sûre de JavaScript peuvent changer.
  • Le message et la position d’erreur dépendent du navigateur.

Questions fréquentes

Les commentaires et virgules finales sont-ils acceptés ?

Non. L’outil utilise le JSON standard via `JSON.parse()`, pas JSON5 ni un objet JavaScript.

Valider vérifie-t-il un JSON Schema ?

Non. Cela confirme uniquement la syntaxe. Champs, types et règles doivent être testés avec le schéma du destinataire.

Le formatage peut-il modifier un grand nombre ?

Oui. Un entier hors de la précision sûre peut changer pendant le parsing et la sérialisation JavaScript.

Que deviennent les clés en double ?

La dernière occurrence peut remplacer la précédente. Corrigez la source avant de formater un document important.

L’outil répare-t-il automatiquement le JSON ?

Non. Il affiche l’erreur du navigateur pour que vous décidiez de la correction sans transformation arbitraire.

Le JSON est-il envoyé à FunnyTools ?

Non. L’analyse, le formatage et la minification s’exécutent localement dans cet onglet.

Confidentialité et traitement local

Le JSON est analysé et sérialisé localement dans cet onglet. FunnyTools ne reçoit pas le contenu pour le traiter.

Utiliser le résultat avec discernement

Ne collez aucun secret. La validation couvre seulement la syntaxe et le parseur peut masquer des clés en double ou modifier de très grands entiers.

Dernière relecture éditoriale: