Comment convertir du JSON en YAML
- Collez du JSON ou ouvrez un fichier ; le YAML s'affiche au fil de la saisie. Choisissez une indentation de 2 ou 4 espaces.
- Pour la conversion inverse, choisissez le sens YAML → JSON et collez du YAML.
- Copiez le résultat ou téléchargez-le sous forme de fichier
.yamlou.json.
JSON vs YAML : les différences
| JSON | YAML | |
|---|---|---|
| Structure | accolades {} et crochets [] | indentation et éléments de liste - |
| Chaînes | toujours entre guillemets doubles | guillemets seulement si nécessaire |
| Commentaires | non autorisés | # comment |
| Texte multiligne | échappements \n | blocs littéraux avec | |
| Usage typique | API et échange de données | fichiers de configuration |
YAML 1.2 est un sur-ensemble de JSON : un document JSON est donc déjà du YAML valide. Le convertisseur produit plutôt le style bloc, plus lisible.
Valeurs à mettre entre guillemets en YAML
Certains mots sans guillemets changent de type en YAML : yes, no, on et off sont des booléens pour les parseurs YAML 1.1, 007 et 1e3 sont des nombres, et null ou ~ signifient null. C'est le fameux « problème norvégien » (Norway problem) : le code pays NO devient false s'il n'est pas entre guillemets. Le convertisseur met automatiquement ces chaînes entre guillemets, afin que le YAML soit relu exactement comme les mêmes données.
YAML pris en charge pour la conversion YAML → JSON
Le parseur comprend le YAML utilisé dans les fichiers de configuration et les API : mappings et listes en style bloc, chaînes sans guillemets ou entre guillemets simples ou doubles, blocs multilignes | et >, collections en ligne [ ] et { }, commentaires et marqueur de document ---. Les ancres (&), les alias (*) et les tags personnalisés sont signalés comme non pris en charge, avec le numéro de ligne. Seul le premier document d'un fichier multi-documents est converti.
Questions fréquentes
YAML est-il un sur-ensemble de JSON ?
YAML 1.2 a été conçu comme un sur-ensemble de JSON : pratiquement tout fichier JSON est donc aussi du YAML valide. L'inverse n'est pas vrai : YAML possède des commentaires, des ancres et des blocs multilignes que JSON ne connaît pas.
Les commentaires sont-ils conservés lors de la conversion de YAML en JSON ?
Non. JSON ne prend pas en charge les commentaires : ils sont donc supprimés. Les clés, les valeurs et leur ordre sont conservés.
Pourquoi mon YAML est-il rejeté ?
Les causes habituelles sont des tabulations utilisées pour l'indentation (YAML n'accepte que des espaces), des éléments d'une même liste ou d'un même mapping qui ne commencent pas à la même colonne, et un espace manquant après un deux-points. Le message d'erreur vous indique la ligne.
Comment les valeurs YAML sont-elles typées dans le JSON ?
Selon le schéma core de YAML 1.2 : true/false deviennent des booléens, null et ~ deviennent null et les nombres simples deviennent des nombres JSON, tandis que des mots comme yes restent des chaînes. Mettez entre guillemets les codes comme "007" dans votre YAML pour les conserver sous forme de texte.