Outils / Texte et données / Convertisseur JSON vers YAML
Côté client

Convertisseur JSON vers YAML

Convertissez du JSON en YAML localement dans le navigateur, avec des cles en ordre d'insertion et un echappement sur, pret a coller dans Kubernetes, Helm, Docker Compose ou GitHub Actions.

Ce que fait l'outil

  • Sans perte : le JSON est du YAML valide, donc aucune valeur ni aucun type ne change
  • Preserve l'ordre de vos cles au lieu de les trier par ordre alphabetique
  • Echappe les chaines ambigues pour eviter le probleme norvegien de YAML
  • S'execute localement, votre config et vos secrets ne quittent jamais l'onglet

Collez un bloc JSON et obtenez l'equivalent YAML sans rien televerser, car ce convertisseur s'execute entierement dans votre navigateur. La plupart des personnes qui cherchent a passer de JSON a YAML sont des developpeurs et des ingenieurs DevOps avec une reponse d'API, un manifeste genere, ou un fragment de config a fournir a des outils comme Kubernetes, Helm, Docker Compose, GitHub Actions, GitLab CI, Ansible ou Argo, qui consomment tous du YAML. Vous collez en entree, vous copiez en sortie, et vous avez la garantie que le resultat est du YAML valide, sans aller-retour serveur sur vos donnees.

Ce que cette conversion fait reellement (et ce qu'elle ne fait PAS)

JSON vers YAML est sans perte. YAML 1.2 est un sur-ensemble strict de JSON, donc tout document JSON valide est deja un document YAML valide et se convertit sans aucune perte de donnees. Il n'y a rien a compresser ni rien a interpreter : les deux formats encodent exactement le meme modele de donnees fait de tables, de sequences et de scalaires, donc la conversion ne fait que reecrire la syntaxe et la lisibilite, jamais les valeurs ni les types sous-jacents.

Le plus difficile n'est pas la structure, c'est le typage implicite de YAML. Des scalaires nus comme yes, no, on, off et null, ainsi que des chaines ressemblant a des dates ou a des versions comme 1.10, peuvent etre transformes en booleens, en dates ou en nombres par un lecteur YAML. C'est le fameux "probleme norvegien", ou le code pays NO devient silencieusement false. Un convertisseur correct echappe les chaines ambigues pour que l'aller-retour reste fidele, ce qui est exactement ce que fait cet outil. Il existe un piege numerique apparente entre les versions de YAML : la forme exponentielle de JSON comme 1e2 est du JSON valide, mais un analyseur YAML 1.1 attend 1.0e+2 et risque de lire 1e2 comme une chaine. La sortie cible YAML 1.2 pour eviter ce piege.

L'ordre des cles est preserve un pour un. Les cles de vos objets JSON conservent leur ordre d'insertion dans la sortie YAML, contrairement au comportement par defaut de PyYAML qui trie les cles par ordre alphabetique, source frequente de diffs bruyants et indesirables dans les pull requests. Cote taille, le YAML est generalement un peu plus petit en octets que le JSON formate car il abandonne les accolades, les guillemets et les virgules, meme s'il peut etre plus volumineux que le JSON minifie. Le vrai gain, c'est la lisibilite humaine et la possibilite d'ajouter des commentaires, ce que JSON ne peut pas representer du tout.

Quand choisir cette conversion

Convertissez en YAML lorsque vous transformez une reponse d'API JSON ou une config generee par machine en un fichier d'infrastructure editable a la main. L'ecosysteme DevOps s'est standardise sur YAML, et YAML autorise les commentaires et des diffs plus propres en revue de code grace a l'indentation et aux sequences avec tirets plutot qu'a la ponctuation de JSON. Si au contraire vous avez besoin d'echange entre machines, d'une charge utile d'API stricte, ou d'un format que chaque langage analyse de maniere identique, gardez le JSON ou faites l'inverse avec le convertisseur YAML vers JSON. Notez que le sens inverse est avec perte : YAML vers JSON abandonne les commentaires, les ancres et alias, les cles de fusion, et les flux multi-documents.

Comment convertir

  1. Ouvrez le convertisseur avec l'entree et la sortie deja reglees sur JSON et YAML pour ce sens.
  2. Collez votre JSON dans le volet d'entree (une reponse d'API, un fragment Helm, un fichier Compose, ce que vous avez).
  3. Cliquez sur convertir pour produire le YAML.
  4. Copiez le resultat dans votre presse-papiers ou telechargez-le sous forme de fichier .yaml.

Aucun televersement. Tout s'execute sur votre appareil.

Le moteur de conversion est du Rust compile en WebAssembly et s'execute a l'interieur de votre onglet de navigateur. Il n'y a aucune requete reseau pour le traitement, donc il fonctionne hors ligne une fois la page chargee, et il n'y a rien a supprimer ensuite puisque rien n'a jamais ete televerse. Vous pouvez le verifier vous-meme : ouvrez les DevTools de votre navigateur, surveillez l'onglet Reseau pendant que vous convertissez, et vous ne verrez aucune requete quitter votre machine. C'est important parce que les configs JSON transportent regulierement des valeurs sensibles comme des cles d'API, des URL de base de donnees et des Secrets Kubernetes, qui ne devraient jamais etre colles dans un outil cote serveur.

Aucune limite

Aucun plafond de taille de fichier, aucune limite du nombre de documents, aucun filigrane, aucune inscription et aucune publicite. Convertissez autant que vous voulez, aussi souvent que vous voulez.

Questions frequentes

La conversion de JSON vers YAML est-elle sans perte ?
Oui. YAML 1.2 est un sur-ensemble de JSON, donc tout document JSON valide se convertit en YAML sans aucune perte de donnees. Seul le sens inverse, YAML vers JSON, est avec perte car il abandonne les commentaires, les ancres, les cles de fusion et les flux multi-documents.
La conversion JSON vers YAML preserve-t-elle l'ordre de mes cles ?
Oui, l'ordre des cles est preserve un pour un selon l'ordre d'insertion. Cela evite la sortie triee par ordre alphabetique que PyYAML produit par defaut, une cause frequente de diffs indesirables dans les pull requests.
Pourquoi mon YAML converti transforme-t-il des valeurs comme 'yes' ou '1.10' en booleens ou en nombres ?
C'est le typage implicite de YAML, parfois appele le probleme norvegien, ou des scalaires nus comme yes, no, on, off et les chaines ressemblant a des versions se font coercer par le lecteur. Ce convertisseur echappe les chaines ambigues pour qu'elles restent du texte et que l'aller-retour reste fidele.
Le JSON est-il du YAML valide ?
Oui. La specification YAML 1.2 est explicitement un sur-ensemble de JSON, donc tout document JSON bien forme est aussi un document YAML bien forme. C'est pourquoi cette conversion peut etre garantie sans perte.
Puis-je convertir du JSON en YAML pour un fichier Kubernetes ou Docker Compose ?
Oui, c'est le cas d'usage le plus courant. Des outils comme Kubernetes, Helm, Docker Compose, GitHub Actions et Ansible consomment tous du YAML, donc convertir un fragment JSON vous donne un manifeste editable a la main que vous pouvez commenter et committer.
Mon JSON est-il televerse vers un serveur quand je le convertis ?
Non. La conversion s'execute entierement dans votre navigateur via du Rust compile en WebAssembly, sans aucune requete reseau pour le traitement. Vous pouvez le confirmer en surveillant l'onglet Reseau des DevTools pendant une conversion.
Puis-je convertir du JSON en YAML hors ligne ou sans connexion Internet ?
Oui. Une fois la page chargee, le moteur WebAssembly fonctionne entierement hors ligne car aucun serveur n'intervient dans la conversion. Vous pouvez vous deconnecter du reseau et il convertira quand meme.
Pourquoi convertir du JSON en YAML plutot que d'utiliser simplement du JSON ?
YAML prend en charge les commentaires et se lit plus clairement pour une config editee a la main, et l'ecosysteme DevOps s'est standardise dessus. JSON ne peut pas representer de commentaires et ses diffs sont plus bruyants en revue, donc les equipes convertissent le JSON genere en YAML pour les fichiers que les humains maintiennent.
Puis-je reconvertir le YAML en JSON, et obtiendrai-je les memes donnees ?
Vous pouvez le reconvertir avec le convertisseur YAML vers JSON, et les valeurs des donnees correspondront. Cependant, tout ce que vous avez ajoute au YAML ensuite, comme des commentaires ou des ancres, sera abandonne car JSON ne peut pas representer ces constructions.
Quel est le plus gros fichier JSON que je peux convertir dans le navigateur ?
Aucune limite de taille stricte n'est imposee par l'outil ; le plafond pratique est la memoire disponible de votre appareil puisque tout s'execute localement. Les configs et charges utiles d'API typiques se convertissent instantanement.

Connexes : essayez le sens inverse avec le convertisseur YAML vers JSON, ou parcourez le hub complet des outils texte et donnees.