Eazy Toolbox
Aller à l'outil

Convertisseur JSON vers YAML

Convertissez du JSON en YAML. Les chaînes ne sont mises entre guillemets que là où c'est nécessaire pour éviter qu'elles soient relues comme un nombre, un booléen ou null.

Vos données ne quittent jamais votre navigateur. Cet outil fonctionne entièrement sur votre appareil.

Le rapport entre YAML et JSON

Tout document JSON est aussi du YAML valide : YAML 1.2 en est un sur-ensemble strict. L'inverse est faux, car YAML dispose de fonctionnalités absentes de JSON — commentaires, ancres et références, plusieurs documents dans un même fichier, et plusieurs façons d'écrire des chaînes multilignes.

C'est pourquoi convertir du JSON en YAML fonctionne toujours, alors que convertir du YAML en JSON peut échouer ou perdre de l'information.

Ce qui se perd en passant de YAML à JSON

Les commentaires disparaissent, JSON n'ayant aucun moyen de les représenter. Les ancres et alias sont développés en copies répétées des données. Plusieurs documents séparés par --- ne peuvent tout simplement pas être représentés.

Si votre YAML est un fichier de configuration où les commentaires portent l'explication, conservez l'original : le JSON en est une vue de données, pas un remplacement.

Le problème norvégien

Les analyseurs YAML 1.1 lisent no, yes, on et off non quotés comme des booléens, ce qui a transformé le code pays NO en false — l'anecdote est célèbre. YAML 1.2 a supprimé ce comportement, mais beaucoup d'outils appliquent encore l'ancien.

La leçon est de quoter les chaînes susceptibles d’être prises pour un autre type : "no", "yes", "null", "1.0" et les numéros de version comme "1.10" méritent tous des guillemets explicites.

Questions fréquentes

Le JSON est-il du YAML valide ?

Oui. YAML 1.2 est un sur-ensemble strict de JSON : tout document JSON valide peut donc être analysé par un analyseur YAML. La réciproque est fausse.

Que deviennent mes commentaires ?

Ils sont perdus. JSON n'a aucune syntaxe de commentaire : convertir du YAML en JSON les écarte. Conservez l'original YAML si les commentaires comptent.

Pourquoi ma valeur « no » est-elle devenue false ?

Les analyseurs YAML plus anciens, conformes à la spécification 1.1, traitent no, yes, on et off non quotés comme des booléens. Quotez la valeur en "no" pour qu’elle reste une chaîne. C’est le fameux problème norvégien.

Pourquoi l'indentation compte-t-elle autant en YAML ?

L'indentation définit la structure, comme les accolades en JSON. Une indentation incohérente change le sens ou provoque une erreur d'analyse. Les tabulations sont totalement interdites : YAML exige des espaces.