Convertir un YAML en JSON

Un fichier de configuration YAML devient du JSON, sans surprise sur les valeurs.

Traité sur cet appareil · aucun envoi de fichier

YAMLYMLVous pouvez aussi coller du texte ou un fichier (Ctrl+V)Confortable jusqu’à 20 Mo

62 ko à télécharger la première fois, puis conservé sur cet appareil.détails

Moteur : js-yaml.

À quoi sert cette page

Les fichiers de configuration — docker-compose, GitLab CI, Kubernetes, Ansible — sont écrits en YAML, mais tout ce qui les manipule par programme préfère le JSON. La conversion cache deux pièges : un identifiant « 00427 » qui devient le nombre 427, et une date qui se transforme en horodatage décalé d’un jour selon le fuseau de la machine. Cette page les évite tous les deux, explique ce qu’elle fait des ancres et des clés de fusion, et travaille dans votre navigateur : un fichier de configuration contient souvent des noms d’hôtes internes, parfois des secrets.

On dit aussi : convertir yaml en json, yaml vers json.

Comment faire

  1. Déposez un ou plusieurs fichiers .yaml ou .yml.
  2. Choisissez ce que doit devenir un fichier à plusieurs documents.
  3. Lancez la conversion et téléchargez le JSON.

Questions fréquentes

Que deviennent les ancres et les alias de mon fichier ?

Ils sont développés : là où le YAML écrivait « *reglages_communs », le JSON contient la valeur complète. Une clé de fusion « << » est appliquée de la même façon, la valeur locale l’emportant sur celle héritée. Le JSON ne sait pas exprimer cette factorisation ; la seule conversion fidèle est donc celle des valeurs finales.

Pourquoi ma date reste-t-elle entre guillemets ?

Parce que la traiter comme une date obligerait à choisir une heure et un fuseau qu’elle ne porte pas. « 2026-01-05 » deviendrait un horodatage UTC, et le même fichier donnerait le 4 ou le 5 janvier selon la machine qui l’ouvre. Le texte est la seule écriture qui ne ment pas ; c’est le même choix que pour les dates de tableur.

Que faire d’un fichier à plusieurs documents séparés par « --- » ?

C’est le cas des manifestes Kubernetes. Comme un fichier JSON ne contient qu’une seule valeur, deux réponses sont possibles et vous choisissez : un seul JSON où les documents forment un tableau, ou un fichier JSON par document, livrés ensemble dans un zip.

Le fichier est refusé pour une clé en double, est-ce normal ?

Oui, c’est volontaire. Beaucoup d’analyseurs gardent silencieusement la dernière valeur, ce qui fait disparaître une ligne de configuration sans que personne ne le voie. Ici la conversion s’arrête et la ligne fautive est indiquée : à vous de décider laquelle des deux valeurs compte.

Bon à savoir

  • Le YAML est lu selon le schéma « core » de YAML 1.2 : une date comme 2026-01-05 reste du texte, et « 00427 » reste « 00427 ». C’est délibéré — en faire une date ou un nombre décalerait la valeur selon la machine ou perdrait le zéro initial.
  • Les ancres (&) et les alias (*) sont développés, et une clé de fusion « << » est appliquée : le JSON produit contient les valeurs finales, pas la factorisation du YAML. Un renvoi circulaire, lui, est refusé — le JSON ne sait pas l’écrire.
  • Une clé en double dans le même bloc fait échouer la conversion au lieu de garder discrètement la dernière valeur. Le fichier est signalé, pas amputé.
  • Les valeurs « .inf » et « .nan » sont écrites en texte : le JSON ne sait pas les représenter et les remplacerait par « null », c’est-à-dire par rien.
  • Les étiquettes explicites (!!binary, !!timestamp, !!python/…) ne sont pas converties : le fichier est refusé plutôt que rendu approximativement.
  • Un YAML invalide est refusé avec la ligne, la colonne et l’extrait fautif. Les tabulations d’indentation, cause la plus fréquente, sont nommées explicitement.

Outils liés