Trois formats pour les mêmes données
Le JSON, c'est ce que les API envoient et ce que JavaScript lit. Le YAML, c'est ce que l'on écrit à la main dans les fichiers de configuration de Docker Compose, Kubernetes, GitHub Actions ou Ansible. Le XML est encore partout dans les flux, les factures, les fichiers Office et les anciens services web. Tous décrivent le même genre de données : objets, listes, texte, nombres et vrai ou faux, on peut donc les convertir de l'un à l'autre.
Certains détails ne survivent pas à tous les trajets. Les commentaires YAML et XML disparaissent, car le JSON n'a pas de commentaires. Le XML n'a ni listes ni nombres propres : les éléments répétés deviennent des tableaux et les nombres ne sont reconnus que si vous activez l'option. Chaque sens de conversion ci-dessous explique ce qui se passe dans ces cas.
Un vrai analyseur YAML, pas un raccourci
Le YAML a beaucoup de règles que les convertisseurs simples appliquent mal : texte en bloc avec | et >, texte avec ou sans guillemets, ancres (&nom) et alias (*nom), clés de fusion (<<) et plusieurs documents dans un même fichier, chacun commençant par une ligne de trois tirets. Cet outil utilise un analyseur YAML complet qui suit la spécification YAML 1.2, et il limite l'expansion des alias pour qu'un fichier malveillant ne puisse pas bloquer votre navigateur.