YAML en JSON
Local only — nothing is uploaded unless you save or share it.
Convertissez un fichier de configuration en JSON, ou du JSON en YAML lisible.
- Collez votre YAML, ou du JSON pour aller dans l'autre sens
- Choisissez l'indentation, et le tri des clés si vous comparez deux fichiers
- Convertissez, puis copiez ou téléchargez le résultat
Enregistrer cet outil
Gardez YAML en JSON sous la main
Utilisez le menu Partager de votre navigateur, puis « Sur l'écran d'accueil ».
À propos de cet outil
Le YAML est ce dans quoi on écrit la configuration et le JSON ce que la plupart des programmes lisent : cette conversion se place donc entre un fichier qu'une personne édite et un programme qui le consomme. Le YAML est bien moins simple qu'il n'en a l'air. Les ancres permettent de réutiliser un bloc ailleurs, les scalaires de bloc replient ou préservent les sauts de ligne selon un seul signe de ponctuation, le typage implicite transforme discrètement le mot no en false, et un fichier peut contenir plusieurs documents séparés par trois tirets. Un analyseur approximatif gère l'essentiel de cela et échoue en silence sur le reste, produisant un JSON d'apparence valide avec de mauvaises valeurs dedans : cet outil s'appuie donc sur une implémentation YAML complète. Ce dont les gens ont le plus besoin, en réalité, c'est du message d'erreur. Presque toute erreur YAML est une erreur d'indentation, et les erreurs d'indentation se remarquent plusieurs lignes sous l'endroit où elles ont été faites : le numéro de ligne est donc indiqué plutôt qu'une plainte générale disant que quelque chose ne va pas. Quand un fichier contient plusieurs documents, ils deviennent un tableau JSON et vous en êtes averti, car n'en garder que le premier perdrait des données sans un mot. Tout tourne dans votre navigateur.
Questions fréquentes
Pourquoi mon YAML échoue-t-il plusieurs lignes après l'erreur ?
Parce que l'indentation est la structure. Un bloc indenté d'un espace de trop reste valide jusqu'à ce que quelque chose plus loin le contredise, et c'est là que l'analyseur finit par protester. Partez de la ligne signalée et remontez jusqu'à la dernière ligne dont vous êtes sûr de l'indentation.
Peut-il convertir aussi du JSON en YAML ?
Dans les deux sens. JSON vers YAML, c'est ce que l'on veut quand un fichier de configuration doit être édité par un humain : les guillemets et les accolades disparaissent, l'indentation porte la structure. Convertissez le YAML dans l'autre sens quand un programme veut du JSON. Comme analyseur YAML, il fait aussi office de validateur : un fichier qui ne s'analyse pas vous donne la ligne au lieu d'échouer en silence plus tard.
Que devient un fichier contenant plusieurs documents ?
Ils deviennent un tableau JSON, une entrée par document, et le nombre est affiché au-dessus du résultat. Le JSON n'a aucun moyen d'exprimer un séparateur de documents, et n'en garder que le premier écarterait le reste en silence, alors le changement est rendu visible.
Pourquoi le mot no est-il devenu false ?
C'est le YAML qui fait ce qui est spécifié. En YAML 1.1, les mots yes, no, on et off sont des booléens, ce qui surprend quiconque a un code pays ou un champ de réponse. Mettez la valeur entre guillemets dans votre YAML si vous voulez qu'elle reste une chaîne.
Pourquoi trier les clés ?
Pour comparer deux versions de la même configuration. L'une écrite à la main et l'autre produite par un outil listeront les mêmes réglages dans un ordre différent, et un diff des deux est illisible. Trier les deux met chaque clé au même endroit, de sorte que seules les vraies différences apparaissent.
Les commentaires sont-ils conservés à la conversion ?
Non, et ils ne peuvent pas l'être. Le JSON n'a pas de syntaxe de commentaire : tout ce qui suit un dièse est perdu au passage. Reconvertir du JSON en YAML produit un fichier propre sans les commentaires d'origine, ce qu'il vaut mieux savoir avant d'écraser le fichier de départ.
Aidez-nous à améliorer cet outil
Un bug, une envie de changement, ou un outil qui vous manque ?
Vous avez un message non envoyé.
Merci — c'est bien arrivé. La réponse vous attendra dans votre boîte.Go to my messages