Convertisseur JSON ↔ YAML
Convertissez entre JSON et YAML dans les deux sens. Aperçu en direct, validation, copie en un clic.
À quoi sert YAML ?
YAML est le cousin plus accueillant de JSON : même modèle de données (objets, tableaux, chaînes, nombres, booléens, null), mais avec une indentation significative au lieu d'accolades et de crochets, et avec la prise en charge des commentaires. Cela fait de YAML le format dominant pour les fichiers de configuration édités à la main — manifestes Kubernetes, valeurs Helm, workflows GitHub Actions, pipelines CI, Docker Compose, playbooks Ansible, et la plupart des configurations d'applications modernes vivent en YAML. JSON, en revanche, domine les formats de transport et les API parce que tous les langages savent l'analyser sans réfléchir. Ce convertisseur vous permet de passer de l'un à l'autre sans quitter le navigateur. JSON → YAML est ce que vous utilisez quand vous voulez prendre une réponse d'API et la transformer en manifeste Kubernetes, ou prendre une collection Postman et la reformater pour un tutoriel. YAML → JSON est ce que vous utilisez quand un outil exige du JSON alors que votre configuration est en YAML, ou quand vous voulez valider un fichier YAML par rapport à un JSON Schema. Tout est converti directement dans votre onglet de navigateur — pas d'envoi, pas de journalisation, aucune copie de vos manifestes conservée sur le serveur de quelqu'un d'autre. Cela rend l'outil sûr même pour des valeurs Helm de production ou des fichiers de workflow contenant des noms d'hôtes internes, des références à des secrets et des détails d'infrastructure.
Mode d'emploi
Choisissez une direction, collez vos données, cliquez sur Convertir. Le résultat apparaît en dessous avec un bouton de copie.
- Choisissez la direction — Utilisez JSON → YAML pour transformer des réponses d'API ou des configurations générées en quelque chose que les humains peuvent éditer. Utilisez YAML → JSON quand un outil exige du JSON ou quand vous voulez envoyer une configuration YAML à une API HTTP.
- Essayez un préréglage — Cliquez sur Service Kubernetes, GitHub Action ou Configuration d'application pour charger un exemple représentatif que vous pouvez modifier et convertir. Le préréglage correspond à la direction sélectionnée.
- Choisissez l'indentation — 2 espaces correspond à ce qu'attendent la plupart des linters YAML et des outils de l'écosystème (Kubernetes, Ansible, Helm). N'utilisez 4 espaces que si votre équipe l'a explicitement standardisé.
- Triez les clés pour des diffs stables — Activez Trier les clés de A à Z pour ordonner alphabétiquement la sortie. C'est très utile pour les diffs git et les tests par instantané quand deux outils émettent les mêmes données dans un ordre de clés différent.
Règles de correspondance entre les formats
Les deux formats partagent le même modèle logique, donc la plupart des valeurs font l'aller-retour à l'identique. Les chaînes, nombres, booléens, null, tableaux et objets se mappent un à un. Le convertisseur suit la spécification YAML 1.2 moderne, qui (contrairement à YAML 1.1) ne traite pas yes, no, on, off comme des booléens — uniquement true et false — ce qui vous évite le légendaire « problème norvégien » où le code pays NO devient silencieusement le booléen false. Les chaînes multilignes en YAML utilisent des blocs littéraux (|) ou pliés (>) ; lors d'une conversion depuis JSON, cet outil émet des chaînes entre guillemets classiques avec des échappements \n pour la portabilité. Les commentaires n'existent qu'en YAML ; convertir JSON → YAML → JSON supprime les commentaires car JSON n'a nulle part où les placer.
Référence rapide
Quelques valeurs et la façon dont elles se traduisent entre les deux formats.
| JSON | YAML |
|---|---|
{ "a": 1 } | a: 1 |
[1, 2, 3] | - 1 |
"yes" | 'yes' (entre guillemets pour rester une chaîne) |
null | null (ou vide / ~) |
"line\nbreak" | "line\nbreak" |
{ "n": 1.0 } | n: 1.0 (reste un flottant) |
Questions fréquentes
Pourquoi mon YAML affiche-t-il la chaîne « true » comme un booléen ?
YAML traite true et false non entre guillemets comme des booléens. Si vous voulez la chaîne littérale de quatre lettres, mettez-la entre guillemets : flag: "true". Le convertisseur respecte ce que vous avez écrit.
Gère-t-il les fichiers YAML multi-documents ?
YAML prend en charge plusieurs documents dans un même fichier, séparés par ---. Ce convertisseur n'analyse que le premier document lors du passage vers JSON. Pour les ensembles de manifestes Kubernetes, scindez votre fichier avant de le coller, ou convertissez chaque document séparément.
Pourquoi mes commentaires YAML disparaissent-ils après l'aller-retour ?
JSON ne prend pas en charge les commentaires. Lorsque vous passez de YAML à JSON, tous les commentaires sont supprimés. Le voyage retour JSON → YAML ne peut pas les récupérer. Conservez une copie du YAML si les commentaires comptent pour vous.
La conversion est-elle sans perte pour les configurations courantes ?
Pour Kubernetes, GitHub Actions, Docker Compose et configurations similaires — oui, la seule perte étant les commentaires et le style spécifique des chaînes multilignes. Les nombres, dates analysées comme chaînes ISO, booléens, mappings imbriqués et tableaux font tous l'aller-retour proprement.
Et les ancres et alias (&ref / *ref) ?
Les ancres et alias sont résolus à l'analyse, donc la sortie JSON contient les valeurs matérialisées que le YAML référençait. La direction inverse ne réintroduit pas automatiquement les ancres — si vous comptez sur elles pour garder des configurations DRY concises, vous devrez les rajouter à la main après reconversion en YAML.
Quelque chose est-il envoyé à un serveur ?
Non. La conversion entière s'exécute entièrement à l'intérieur de votre onglet de navigateur, donc le YAML ou le JSON que vous collez — y compris les manifestes de production, les références à des secrets et les noms d'infrastructure interne — n'atteint jamais nos serveurs ni aucun tiers.