Corriger les problèmes courants d’un texte JSON

Collez un texte de type JSON pour appliquer un jeu de règles fixe et lire chaque modification appliquée. La réparation n’exécute jamais l’entrée, rien n’est téléversé, et un texte toujours illisible échoue avec l’erreur du parseur plutôt qu’avec une supposition.

Fonctionne localement dans votre navigateur
Le réparateur n'évalue jamais le code. Il applique un ensemble limité et révisable de transformations de texte dans ce navigateur.
Entrée invalide ou de type JSON

Une réparation sûre est intentionnellement limitée

L'outil gère les commentaires, les virgules finales, les guillemets simples, les clés sans guillemets, les guillemets intelligents et les littéraux courants non JSON. Il n'exécute jamais JavaScript, ne devine jamais les données commerciales manquantes ou ne masque silencieusement une erreur d'analyse non réparée.

Réparer un texte de type JSON

Collez un texte de type JSON : la page applique un jeu de règles fixe et ordonné — commentaires, virgules finales, guillemets simples, clés sans guillemets, guillemets typographiques, True/False/None et nombres non finis — et liste chaque changement effectué. Rien n’est réparé au hasard : si le résultat reste illisible, l’exécution échoue au lieu de renvoyer un document plausible.

Toute la réparation est une transformation de texte suivie d’un JSON.parse strict : l’entrée n’est jamais exécutée et la page n’envoie aucune requête pendant votre travail. Le contenu des chaînes est préservé : une URL http://, un marqueur /* */ ou une apostrophe typographique dans une valeur entre guillemets traversent l’exécution sans changement.

  1. Collez l’entrée dans le volet de gauche. Les règles ne s’exécutent qu’après un clic sur Réparer le JSON.
  2. Cliquez sur Réparer le JSON. Une entrée déjà valide est signalée comme telle et renvoyée avec une indentation de deux espaces ; sinon, chaque règle déclenchée apparaît sous Corrections appliquées, dans l’ordre d’exécution.
  3. Lisez la liste des corrections et comparez la sortie à votre intention : le remplacement des littéraux (True en true, NaN en null) est la règle qui modifie volontairement des valeurs.
  4. Copier reprend le JSON réparé ; après un échec, le statut précise que le texte copié reste invalide. Effacer vide les deux volets et la liste des corrections.

Ce que le réparateur change — et ce qu’il ne change pas

Les règles, dans l’ordre

Suppression du BOM, normalisation des guillemets typographiques, suppression des commentaires, conversion des guillemets simples, mise entre guillemets des clés, remplacement des littéraux et suppression des virgules finales s’exécutent dans cet ordre fixe, uniquement hors des chaînes. Les commentaires couvrent // et /* */ de JavaScript ainsi que les lignes # à la Python ; les clés peuvent commencer par une lettre, _ ou $ et contenir des caractères non ASCII comme le japonais ; les virgules finales répétées comme [1,,] sont supprimées jusqu’à ce que la fermeture soit propre.

Comme les règles ignorent le contenu des chaînes, les marqueurs dans les données survivent : http://x, /* keep */ ou #fff écrits dans une chaîne entre guillemets ressortent intacts, et une apostrophe typographique dans une valeur le reste. Les guillemets typographiques ne sont convertis que là où ils servent de délimiteurs à une clé ou à une chaîne.

Ce qui n’est pas deviné

Les valeurs manquantes et les fichiers tronqués ne sont pas réparés. Des entrées comme {"a": } (sans valeur), {"a": [1, 2 (tableau non fermé), {a: .5} (point décimal en tête) ou {a: 0x1F} (nombre hexadécimal) se terminent par l’erreur du parseur, avec le texte partiellement transformé affiché pour relecture — ce volet n’est pas un résultat, et Copier le dit.

NaN, Infinity et -Infinity deviennent null, car JSON ne sait pas écrire un nombre non fini, et True/False/None deviennent true/false/null. Vérifiez ces substitutions avant de livrer le document à un consommateur qui attend un nombre ou un booléen.

Ce qu’un succès ne garantit pas

Un statut vert prouve seulement que le texte se parse désormais ; il ne prouve pas que les données correspondent à votre intention. Les clés en double gardent la dernière valeur, chaque réécriture n’est consignée que dans la liste des corrections, et la sortie est toujours réindentée sur deux espaces : comparez-la à l’original avant d’écraser une configuration ou un fixture.

Tout se passe dans cet onglet : la page n’envoie aucune requête pendant la réparation et aucune copie de l’entrée n’est conservée. Gardez le texte original jusqu’à la fin de la comparaison et utilisez Effacer pour retirer la copie de travail de la page.

Outils récents :