Sur cette page

JSON strict n’accepte ni commentaires ni virgules finales. JSONC autorise les commentaires ; l’acceptation des virgules finales dépend du programme qui lit le document. Le mode JSONC vers JSON de 4all.tools accepte ces deux extensions, les retire et valide la sortie. Vérifiez le format exigé par la destination : si elle attend du JSON, convertissez le document et conservez l’original commenté.

Une configuration acceptée par votre éditeur peut être rejetée par une API qui exige du JSON strict. Renommer .jsonc en .json ne transforme pas le contenu : les commentaires et les virgules sont toujours présents.

Ce qui distingue JSON, JSONC et JSON5

Syntaxe JSON strict JSONC JSON5
Commentaires // et /* ... */ Non Oui Oui
Virgule après le dernier champ ou élément Non Selon le consommateur Oui
Chaînes entre apostrophes Non Non Oui
Clés sans guillemets Non Non Oui, pour les identifiants autorisés

La grammaire du RFC 8259 définit JSON strict. Le projet de spécification JSONC rend facultative la prise en charge des virgules finales. Dans cet outil, le mode JSONC les accepte dans les objets comme dans les tableaux. Cela ne garantit pas leur acceptation par un autre consommateur de JSONC.

Convertissez une configuration commentée, étape par étape

Gardez une copie de l’original. Cette entrée est valide pour le mode JSONC de 4all.tools :

{
  // URL utilisée dans l’environnement de test
  "endpoint": "https://api.example.test/v1",
  "note": "Le texte /* demo */ doit être conservé",
  "tentatives": 3,
  "regions": ["mx", "es",],
}
  1. Ouvrez JSON Repair et collez l’exemple dans Texte d’entrée.
  2. Choisissez JSONC vers JSON.
  3. Sélectionnez Convertir pour lancer l’opération. Coller du texte ou changer de mode ne déclenche pas la conversion.
  4. Vérifiez la sortie proposée, les modifications et les avertissements. Comparez les valeurs avec l’original.
  5. Si le résultat est valide et correspond aux données attendues, sélectionnez Copier la sortie et utilisez cette version à destination.

Résultat attendu, mis en forme pour faciliter la lecture :

{
  "endpoint": "https://api.example.test/v1",
  "note": "Le texte /* demo */ doit être conservé",
  "tentatives": 3,
  "regions": ["mx", "es"]
}

Le moteur actuel produit ces données et valide le candidat comme JSON strict. La présentation ci-dessus est éditoriale : la conversion réelle remplace commentaires et virgules finales par des espaces et conserve les sauts de ligne. Une ligne vide peut rester à la place du commentaire, ainsi que des espaces avant les délimiteurs de fermeture.

Ce qui disparaît et ce qui reste intact

Trois fragments sont retirés de l’exemple :

  • Le commentaire de ligne qui commence par // URL.
  • La virgule après "es", avant ].
  • La virgule après le tableau, avant }.

Le // de https://api.example.test/v1 et le texte /* demo */ à l’intérieur de la chaîne sont des données et restent intacts. Le nombre 3, son type numérique et l’ordre du tableau sont également conservés : "mx" d’abord, puis "es". Évitez un remplacement global par expression régulière pour supprimer les commentaires : il peut effacer une partie d’une URL ou du texte littéral.

La perte des commentaires est volontaire. S’ils contiennent des instructions pour maintenir la configuration, conservez l’original JSONC et générez une copie JSON pour le consommateur qui l’exige.

Si la conversion échoue encore

Lisez le diagnostic avant de changer de mode. Une virgule manquante, une chaîne non fermée ou un commentaire de bloc incomplet restent des erreurs. Si des séparateurs ou délimiteurs de fermeture manquent, consultez comment repérer et corriger les erreurs de syntaxe JSON, puis relancez la conversion après la correction nécessaire.

Cette entrée dépasse le périmètre du mode JSONC :

{ environnement: 'test' }

Elle contient une clé sans guillemets et une chaîne entre apostrophes. Son équivalent en JSON strict est :

{"environnement":"test"}

Ces constructions existent dans JSON5 ; retirer les commentaires ne les convertit pas. Réparer JSON peut tenter de corriger certains cas avec des heuristiques, mais ce n’est pas un convertisseur JSON5 complet. Activez ce mode seulement si cette réparation est nécessaire et si vous pouvez vérifier chaque inférence : une syntaxe valide ne prouve pas que les données prévues ont été retrouvées.

Pour une réponse d’IA, consultez comment vérifier le JSON généré par IA avant de l’utiliser, avec des exemples d’enveloppes et de valeurs tronquées.

L’outil impose aussi des limites de taille et de complexité et rejette les clés dupliquées. Ce sont des politiques du produit, pas une définition universelle de JSONC. Si une limite est signalée, réduisez l’entrée ; si des clés sont dupliquées, choisissez la valeur à conserver. La page de JSON Repair détaille les limites actuelles.

Partager ce guide

Lien de l’article