Aller au contenu
4all.tools

Convertir JSONC en JSON et réparer JSON

Convertissez les commentaires et virgules finales JSONC en JSON strict, ou tentez une réparation heuristique limitée et vérifiez chaque changement.

Espace de travail de l’outil

Convertir JSONC ou réparer JSON

JavaScript est nécessaire pour convertir ou réparer JSON dans votre navigateur.

Mode de traitement

Convertit le JSON strict, les commentaires // et /* */ et les virgules finales en JSON strict.

JSONC accepte les commentaires et les virgules finales. Le reste de la syntaxe JSON doit être valide.

0 / 250 000 unités UTF-16

Actions de réparation JSON

JavaScript est nécessaire pour convertir ou réparer JSON dans votre navigateur.

Résultat

Prêt. Choisissez un mode et lancez le traitement quand vous le souhaitez.

Choisir un mode

Utilisez JSONC vers JSON lorsque le document est du JSON avec des commentaires // ou /* ... */, ou des virgules finales. Le convertisseur retire les commentaires et les virgules finales, puis vérifie que le résultat est du JSON strict. Le JSON strict n’accepte pas les commentaires : ils ne figurent donc pas dans la sortie.

Choisissez Réparer JSON si l’entrée contient aussi des erreurs courantes, comme des chaînes entre apostrophes ou des noms de propriétés sans guillemets. La réparation utilise des heuristiques et peut inférer des valeurs ou des délimiteurs manquants. L’entrée reste intacte ; vérifiez la sortie JSON stricte et ses changements avant de la copier.

Exemples

Entrée JSONC :

{
  // commentaires et virgules finales autorisés ici
  "name": "Ada",
}

Sortie JSON stricte :

{
  "name": "Ada"
}

Entrée à réparer :

{ name: 'Ada', active: true }

Une sortie JSON stricte possible :

{"name":"Ada","active":true}

Les exemples de sortie montrent un JSON équivalent avec un espacement simplifié. La conversion JSONC remplace les commentaires et les virgules finales par des espaces et conserve les sauts de ligne ; Réparer peut produire un espacement différent.

Utiliser la réparation JSON

  1. Collez le texte d’origine dans Entrée.
  2. Choisissez JSONC vers JSON ou Réparer JSON. JSONC est sélectionné au départ.
  3. Sélectionnez Convertir ou Réparer pour lancer le traitement.
  4. Vérifiez la sortie proposée, le résumé, les avertissements et chaque changement.
  5. Utilisez les commandes de plage pour examiner le texte d’origine ou proposé, puis copiez la sortie uniquement si elle correspond à votre intention.

La saisie et le changement de mode ne lancent pas de traitement. Le résultat est retiré lorsque l’entrée ou le mode change. L’annulation conserve aussi l’entrée d’origine.

Heuristiques et incertitude

La réparation ne reconstitue pas l’intention de l’auteur. Si le document se termine au milieu d’une valeur, elle peut inférer null ou ajouter un guillemet, un crochet ou une accolade de fermeture. Ce sont des suppositions : la valeur initialement prévue pour un nombre, une chaîne ou un tableau tronqué peut être différente. Une clôture Markdown entourant un document peut être reconnue, mais la prose et plusieurs extraits sans lien ne sont pas extraits de manière universelle.

L’avertissement reste visible tant que Réparer JSON est sélectionné, même si une entrée valide passe sans changement. Un traitement réussi indique que le candidat respecte la syntaxe JSON stricte. Il ne prouve pas que la réparation a conservé le sens voulu.

Limites et validation

L’entrée est limitée à 250 000 unités UTF-16 et la sortie proposée à 500 000. L’analyse est limitée à 100 niveaux d’imbrication, 25 000 nœuds JSON, 100 diagnostics et 1 000 000 unités de travail ; le précontrôle de réparation a sa propre limite de 1 000 000 unités. Le Worker a une limite de cinq secondes. La comparaison détaillée est limitée à 2 000 000 unités de travail et 1 000 changements localisés ; la vérification linéaire des changements a une limite distincte de 4 000 000 unités. Si tous les détails ne peuvent être affichés en toute sécurité, les changements peuvent être regroupés dans une plage plus large. Les lignes sont affichées par pages de 50 et chaque aperçu est raccourci après 240 unités UTF-16. En cas de dépassement, aucun candidat partiel n’est présenté comme sortie utilisable.

Les noms de propriétés dupliqués et une marque d’ordre des octets sont rejetés. Le validateur JSON strict peut aussi signaler qu’un nombre risque de perdre de la précision en JavaScript. Si cet avertissement apparaît, vérifiez le texte d’origine des nombres grands ou précis. Aucun mode ne promet une prise en charge complète de JSON5 ni une récupération exacte d’une entrée endommagée.

Traitement local et confidentialité

La conversion, la réparation, la validation et la comparaison s’exécutent dans un Worker du navigateur, sur votre appareil. Le document n’est pas envoyé à un serveur de l’application et n’est pas enregistré par cet outil. Le presse-papiers du navigateur n’est utilisé que si vous demandez une copie.

Questions fréquentes

Quelle différence entre conversion JSONC et réparation JSON ?

La conversion JSONC accepte les commentaires et virgules finales autour d’un JSON par ailleurs valide. La réparation tente de corriger d’autres erreurs courantes et peut inférer du contenu ; elle demande donc une vérification plus attentive du sens.

Est-ce un convertisseur JSON5 complet ?

Non. Il prend en charge la syntaxe JSONC décrite et certains cas de réparation. La totalité des fonctionnalités JSON5, notamment toutes ses valeurs et sa syntaxe numérique, n’est pas promise.

Pourquoi la réparation ne corrige-t-elle pas toutes les erreurs ?

Un texte mal formé peut avoir plusieurs sens plausibles. La réparation est heuristique et bornée ; une entrée ambiguë ou non prise en charge peut échouer à la validation stricte au lieu de produire une supposition.

Que deviennent les données tronquées ?

La réparation peut inférer null ou des délimiteurs de fermeture pour créer un candidat analysable. Elle ne récupère pas les caractères manquants ; comparez le résultat aux données d’origine avant de l’utiliser.

Pourquoi les commentaires disparaissent-ils ?

Le JSON strict ne possède pas de syntaxe de commentaire. La conversion JSONC les retire pour créer un candidat JSON strict.

Les grands nombres peuvent-ils changer ?

JavaScript représente les nombres JSON avec une précision finie. Le validateur signale une perte possible ; conservez le texte d’origine et vérifiez la valeur avec une représentation adaptée à vos données.