Un document copié depuis un fichier source JavaScript, une configuration commentée, ou un fixture édité à la main est souvent presque JSON : clés sans guillemets, guillemets simples, une virgule de fin, peut-être un commentaire expliquant à quoi sert un champ. Rien de tout cela n'est du JSON valide, et le réparer à la main dans un grand fichier est fastidieux et facile à faire mal.
Ce que l'outil de réparation JSON corrige
Collez le cassé et appuyez Réparer. Il gère les clés d'objet sans
guillemets, les chaînes avec guillemets simples, les virgules de fin, les
commentaires (les // et /* */), les mots-clés avec la mauvaise casse
comme True et NULL, et les valeurs JavaScript NaN, Infinity et
undefined, qui n'ont pas d'équivalent JSON et deviennent null.
Pourquoi il liste chaque changement au lieu de corriger silencieusement
La plupart des outils de réparation corrigent silencieusement et rendent un résultat, ce qui n'apprend rien et cache les cas où la réparation n'était pas ce que vous vouliez réellement. Celui-ci liste chaque changement avec sa ligne et colonne, pour que vous puissiez vérifier le résultat au lieu de lui faire confiance aveuglement. Collez ceci :
{
// account info
name: 'ana',
role: 'admin',
active: True,
meta: undefined,
}
et Réparation retourne :
{ "name": "ana", "role": "admin", "active": true, "meta": null }
avec une liste nommant exactement ce qui s'est passé : le commentaire a
été supprimé, name et role ont reçu des guillemets, les deux chaînes
avec guillemets simples sont devenues à guillemets doubles, True a été
remplacé par true, undefined est devenu null, et la virgule de fin
a été supprimée. Dix problèmes, dix entrées numérotées par ligne.
Le changement signalé séparément
Supprimer un commentaire ou convertir le style de guillemets change
l'orthographe de votre document, pas sa signification. Remplacer
undefined par null est différent : cela change ce que les données
disent réellement, car JSON n'a aucun moyen d'exprimer “cette clé
existait sans valeur.” L'outil de réparation signale cette distinction
dans son propre message au lieu de l'agrouper avec les corrections de
ponctuation, pour que vous la remarquiez plutôt que de la survoler.
Quand il ne peut pas aider
Si un document est cassé d'une manière qui ne peut pas être sauvée, comme un crochet qui ne se ferme jamais, l'outil l'indique et affiche l'erreur restante plutôt que de retourner quelque chose qui ne peut toujours pas être analysé. Un outil de réparation qui réussit toujours sur des entrées irrécupérables est pire que celui qui admet qu'il n'a pas pu finir.