DevToolPal
FR

Convertisseur JSON5 vers JSON

Convertissez du JSON5 ou du JSONC (commentaires, virgules finales, clés sans guillemets, apostrophes) en JSON strict et standard.

Traitement local, rien n'est envoyé

Options

Indentation

Entrée

0 caractères · 0 B

Sortie

0 caractères · 0 B

À quoi ça sert

Le JSON5 est une extension du JSON conçue pour les fichiers écrits à la main. Il autorise les commentaires, les virgules finales, les clés d’objet sans guillemets, les chaînes entre apostrophes et quelques écritures de nombres plus pratiques. Des outils comme Babel, certains bundlers et de nombreuses applications acceptent le JSON5 ou le JSONC (JSON avec commentaires, utilisé par tsconfig.json et les paramètres de VS Code) pour leur configuration.

Mais beaucoup d’analyseurs, d’API et de langages n’acceptent que du JSON strict. Ce convertisseur lit du JSON5 ou du JSONC et produit du JSON standard accepté par n’importe quel analyseur : toutes les clés entre guillemets doubles, aucun commentaire, aucune virgule finale et des nombres en notation décimale.

Mode d’emploi

  1. Collez votre JSON5 ou JSONC, importez un fichier .json5, .jsonc ou .json, ou cliquez sur Exemple.
  2. Choisissez l’Indentation : 2 ou 4 espaces, ou Compact pour une seule ligne.
  3. Choisissez quoi faire de Infinity et NaN : les convertir en null, les convertir en chaînes ou afficher une erreur.
  4. Copiez ou téléchargez le JSON.

Si l’entrée contient une erreur de syntaxe, le message indique la ligne et la colonne pour y aller directement. Le JSON ordinaire est aussi du JSON5 valide : vous pouvez donc utiliser l’outil pour vérifier qu’un fichier s’analyse correctement et le réindenter.

Exemple

Cette configuration JSON5 :

// Server settings
{
  host: 'localhost',
  port: 0x1F90,      // 8080
  ratio: .5,
  tags: ['api', 'v2',],
}

devient ce JSON strict :

{
  "host": "localhost",
  "port": 8080,
  "ratio": 0.5,
  "tags": [
    "api",
    "v2"
  ]
}

Les commentaires sont supprimés, les clés et les chaînes passent entre guillemets doubles, le nombre hexadécimal et le décimal sans partie entière sont écrits en décimal, et les virgules finales disparaissent.

Ce qui est converti

  • Les commentaires de ligne // et de bloc /* */ sont supprimés.
  • Les clés sans guillemets comme port et les chaînes entre apostrophes comme 'localhost' passent entre guillemets doubles.
  • Les chaînes prolongées par une barre oblique inverse en fin de ligne sont réunies en une seule.
  • Les hexadécimaux (0xFF), les points décimaux en début ou en fin (.5, 5.) et les signes plus explicites (+3) deviennent des nombres décimaux ordinaires.
  • Les virgules finales des objets et des tableaux sont retirées.
  • Si une clé apparaît deux fois, la dernière valeur l’emporte, comme en JavaScript.

FAQ

› Quelle différence entre JSON5 et JSONC ?

Le JSONC est du JSON avec des commentaires (et, dans VS Code, des virgules finales). Le JSON5 va plus loin : clés sans guillemets, chaînes entre apostrophes, chaînes sur plusieurs lignes, nombres hexadécimaux, points décimaux en début ou en fin de nombre, Infinity et NaN. Le JSON5 englobe le JSONC, donc cet outil lit les deux.

› Les commentaires sont-ils conservés ?

Non. Le JSON standard n’a pas de syntaxe de commentaire, ils sont donc supprimés. Pour les garder, conservez le fichier JSON5 comme source et générez le JSON à partir de lui.

› Que deviennent Infinity et NaN ?

Le JSON strict ne peut pas les représenter. Par défaut, ils deviennent null, comme avec JSON.stringify en JavaScript. Vous pouvez aussi les convertir en chaînes ou afficher une erreur qui indique le chemin exact.

› Mes données sont-elles envoyées quelque part ?

Non. L’analyse et la conversion se font entièrement dans votre navigateur : les fichiers de configuration contenant des secrets ne quittent jamais votre appareil.