Convertisseur YAML ↔ JSON
Convertissez du YAML en JSON et du JSON en YAML, avec la ligne et la colonne de chaque erreur.
Mode d’emploi
Choisissez YAML → JSON ou JSON → YAML et collez le texte : le résultat s’affiche pendant la saisie. Inverser remet le résultat dans la zone et change le sens, pour un aller-retour en un clic. Indentation règle 2 ou 4 espaces dans le résultat.
Le YAML est lu avec le schéma core de YAML 1.2, la version actuelle du langage. Seuls true et false sont des booléens, null et ~ valent null et les dates restent du texte. Des mots comme yes, no, on et off étaient des booléens en YAML 1.1 et le sont encore pour certains outils anciens ; ici ils restent du texte, et JSON → YAML les écrit entre guillemets pour que ces outils les lisent aussi comme du texte.
Les ancres et les alias (&nom et *nom) et les clés de fusion (<<) sont écrits en entier, car JSON n’a pas de références. Les commentaires disparaissent : la spécification YAML les considère comme de la présentation, pas comme des données. Un fichier avec plusieurs documents séparés par --- devient une liste JSON, avec un élément par document.
Quand l’entrée n’est pas valide, l’outil indique la ligne et la colonne du problème, avec la ligne affichée et un accent circonflexe sous l’endroit exact. Tout se passe dans votre navigateur avec la bibliothèque libre js-yaml, et rien n’est envoyé.
Exemple
« production » reprend les clés de « defaults » grâce à <<, garde son propre retries: 5, et off reste le texte "off", comme le veut YAML 1.2.
debug: off → {"debug": "off"}En YAML 1.2, off est du texte, pas false.<<: *defaultsCopie les clés du mapping ancré ; les clés écrites à côté l’emportent.a: 1, puis ---, puis b: 2Deux documents deviennent la liste [{"a": 1}, {"b": 2}].{"a": 1,}JSON non valide à la ligne 1, colonne 8 : JSON n’admet pas de virgule avant }.
Questions fréquentes
Mon fichier est-il envoyé ?
Non. La conversion se fait dans votre navigateur et rien n’est transmis : les fichiers de configuration avec des noms ou des adresses internes restent sur votre appareil.
Pourquoi yes ou on ne sont-ils pas devenus true ?
YAML 1.2 ne garde comme booléens que true et false. Yes, no, on et off ne sont des booléens que dans l’ancien YAML 1.1, donc ici ils restent du texte. Pour un booléen, écrivez true ou false.
Où sont passés mes commentaires ?
JSON n’a pas de commentaires et la spécification YAML précise qu’ils ne font pas partie des données. Ils sont perdus en passant à JSON et ne reviennent pas en reconvertissant en YAML.
Pourquoi un long nombre a-t-il changé ?
JavaScript stocke les nombres JSON en virgule flottante 64 bits : les entiers au-delà de 9 007 199 254 740 991 perdent leurs derniers chiffres. Mettez les identifiants longs entre guillemets pour qu’ils restent du texte.
Que signifie « unknown tag » ?
Le YAML utilise une balise propre, comme !Ref ou !GetAtt d’AWS CloudFormation, que seul cet outil comprend. Écrivez la forme longue (Ref: ou Fn::GetAtt:) et convertissez à nouveau.