À propos de cet outil
L'outil Objet JS vers JSON strict répare un littéral d'objet JavaScript ou de style JSON5 laxiste en JSON strict et valide. Il repose sur un tokenizer écrit à la main — il n'utilise jamais eval ni new Function — il est donc sûr sous une Content Security Policy stricte et sûr pour y coller du texte non fiable. Tout s'exécute dans votre navigateur.
Il accepte les choses que le vrai JSON rejette : clés d'identifiant sans guillemets, chaînes à guillemets simples, virgules finales avant ] ou }, commentaires // en ligne et /* en bloc */, littéraux hexadécimaux (0xFF), octaux et binaires, nombres à plus initial et à point initial (+1, .5), et les valeurs undefined, NaN et Infinity. Les clés sont remises entre guillemets doubles, les chaînes sont ré-échappées correctement, les commentaires et virgules finales sont retirés, et les nombres sont normalisés en nombres JSON simples. Vous choisissez comment traiter undefined (convertir en null ou supprimer la clé) et les nombres non finis (convertir en null ou lever une erreur), puis la valeur est re-sérialisée avec JSON.stringify à l'indentation de votre choix — 2 espaces, 4 espaces, tabulations ou minifié.
Quand l'entrée ne peut pas être analysée, l'outil signale la première erreur de syntaxe avec sa ligne et sa colonne pour que vous trouviez le problème rapidement. Cela complète un formateur JSON strict, qui rejette simplement les entrées laxistes — ici le but est de récupérer des sorties de console copiées, des extraits de configuration et des objets édités à la main en un JSON que n'importe quel analyseur acceptera.