YAML vers JSON — et retour YAML (types, multi-doc)
Convertissez YAML en JSON ou JSON en YAML dans le navigateur. Étapes : choisissez le sens, collez la config, activez au besoin les types JSON sûrs, puis copiez ou téléchargez. Les multi-docs séparés par --- deviennent un tableau JSON. Exemple : transformer une petite carte de service en JSON indenté pour un client API — le collage reste local.
En pratique
js-yaml tourne dans cet onglet : basculez YAML → JSON ou l’inverse, collez, convertissez. Un flux multi-document découpé par --- devient un tableau JSON dès qu’il y a au moins deux documents ; un seul document reste une valeur JSON unique. Les erreurs YAML affichent ligne et colonne lorsque le parseur fournit un mark.
Règles à anticiper
À quoi s’attendre lors de la conversion : comment les valeurs sans guillemets sont typées, comment le YAML multidocument correspond au JSON, et où un aller-retour peut perdre commentaires ou mise en forme.
- Typage : avec le schéma DEFAULT, yes/no/on/off nus et certains scalaires date-like peuvent devenir booléens ou d’autres types. Le schéma JSON sûr garde les scalaires non cités en chaînes sauf typage explicite.
- Multi-doc : loadAll — un document → cette valeur JSON ; deux ou plus → un tableau JSON. On ne jette pas silencieusement tout ce qui suit le premier.
- Pertes en aller-retour : les commentaires disparaissent (JSON n’en a pas) ; ancres/alias s’étendent en valeurs dupliquées ; l’ordre des clés et le style peuvent changer après dump.
- Confidentialité : votre collage n’est pas envoyé. Charger js-yaml via un CDN ne télécharge que le code de la bibliothèque, pas le texte de config.
Exemple
YAML `nom: demo` + liste `éléments: [a, b]` → JSON `{"nom":"demo","éléments":["a","b"]}`. JSON `{"titre":"Bonjour","compte":2}` se dump en YAML indenté. Frontière : `flag: yes` nu devient true sous DEFAULT ; activez Types JSON sûrs pour garder la chaîne "yes".
Situations concrètes
- DevOps : transformer un YAML Kubernetes multi-ressources (séparé par ---) en tableau JSON pour des scripts.
- Développement : passer une réponse API JSON en YAML lisible avant d’éditer la config à la main.
- Pipelines data / IA : relier des paramètres YAML édités à la main à des outils qui n’acceptent que du JSON.
Frequently asked questions
Mon collage quitte-t-il le navigateur ?
La conversion reste dans l’onglet. Un CDN peut servir js-yaml : cette requête ne télécharge que du code — ce n’est pas un envoi de votre texte YAML ou JSON.
Que deviennent plusieurs documents séparés par --- ?
Ils sont lus avec loadAll. Un seul document → une valeur JSON ; deux ou plus → un tableau JSON. On ne conserve pas uniquement le premier.
Un yes ou no nu devient-il un booléen ?
Souvent oui sous le schéma DEFAULT de js-yaml : yes/no/on/off non cités peuvent devenir booléens. Cochez « Types JSON sûrs » pour les garder en chaînes sauf typage explicite.
Peut-on faire un aller-retour sans rien perdre ?
Non. Les commentaires ne survivent pas au JSON. Les ancres s’étendent en valeurs répétées. Repasser du JSON en YAML ne restaure ni commentaires ni noms d’ancres.
D’où viennent les numéros de ligne d’erreur ?
Un YAML invalide lève un mark parseur avec ligne et colonne quand c’est disponible. Un JSON invalide est signalé par JSON.parse, sans mark style YAML.