Convertisseur JSON en YAML
Convertissez du JSON en YAML et du YAML en JSON dans votre navigateur : ancres, clés de fusion et fichiers multidocuments pris en charge.
Comment convertir du JSON en YAML
- Choisissez le sens : JSON → YAML ou YAML → JSON.
- Collez vos données ou cliquez sur Ouvrir un fichier pour charger un fichier
.json,.yamlou.yml(10 Mo au maximum). - Choisissez l’Indentation (2 ou 4 espaces) et, si vous le souhaitez, cochez Trier les clés pour les classer par ordre alphabétique.
- Cliquez sur Convertir, ou continuez simplement à taper : le résultat se met à jour tout seul. Si la saisie est invalide, le message d’erreur indique la ligne et la colonne du problème.
- Copiez ou téléchargez le résultat. Inverser le sens renvoie le résultat dans la zone de saisie pour la conversion inverse.
JSON et YAML : les mêmes données, deux syntaxes
En pratique, YAML englobe JSON : tout ce qu’un document JSON décrit peut s’écrire en YAML, avec une syntaxe plus légère, plus facile à lire et à modifier à la main. C’est pourquoi les manifestes Kubernetes, les fichiers Docker Compose, les workflows GitHub Actions, les pipelines GitLab CI, les playbooks Ansible et les spécifications OpenAPI sont généralement écrits en YAML, alors que les API et les programmes échangent du JSON.
Les mêmes données dans les deux formats :
{"nom": "web", "ports": [80, 443], "env": {"DEBUG": false}}
nom: web
ports:
- 80
- 443
env:
DEBUG: false
Du JSON vers le YAML
L’outil produit du YAML en style bloc : une clé par ligne, des listes à tirets et des objets imbriqués indentés. Les longues chaînes ne sont jamais repliées, et les chaînes sur plusieurs lignes utilisent le style littéral |, qui conserve les retours à la ligne à l’identique. Les chaînes que YAML lirait autrement comme un autre type sont mises entre apostrophes : "yes", "1.0" ou "null" restent bien des chaînes après un aller-retour. Trier les clés classe les clés de chaque objet par ordre alphabétique, ce qui facilite la comparaison de deux fichiers de configuration.
Du YAML vers le JSON
Le YAML est lu selon le schéma « core » de YAML 1.2, les règles qu’appliquent la plupart des outils récents :
true/false, les nombres etnull(ou~) deviennent des valeurs JSON ;yes,no,onetoffrestent des chaînes, comme l’exige la spécification YAML 1.2.- Les ancres et alias (
&base,*base) sont développés, et les clés de fusion (<<: *base), fréquentes dans les fichiers d’intégration continue, sont prises en charge. - Un fichier contenant plusieurs documents séparés par
---devient un tableau JSON avec un élément par document ; un message indique combien de documents ont été regroupés. - Les commentaires disparaissent, puisque JSON n’en accepte pas.
.infet.nann’ont pas d’équivalent en JSON : ils sont écrits sous forme de chaînes,"Infinity"et"NaN".
Pour protéger votre navigateur des fichiers de type « billion laughs », où quelques alias se développent en milliards de valeurs, un document qui dépasse un million de valeurs une fois développé est refusé.
Les erreurs YAML les plus courantes
- Tabulations dans l’indentation : YAML n’accepte que des espaces.
- Indentation incohérente : les éléments d’une même liste ou d’un même objet doivent commencer à la même colonne.
- Espace manquante après les deux-points :
cle:valeurest une simple chaîne, alors quecle: valeurest une paire clé-valeur. - Caractères spéciaux sans guillemets : une valeur qui commence par
@, un accent grave,*,&ou!, ou qui contient:ou#, doit être entre guillemets.
Questions fréquentes
Mon fichier est-il envoyé sur un serveur ?
Non. La conversion se fait dans votre navigateur : vos fichiers de configuration, vos secrets ou vos données d’API ne quittent jamais votre ordinateur.
Pourquoi « yes » et « no » ne deviennent-ils pas des booléens ?
Depuis YAML 1.2, seuls true et false sont des booléens. Les anciens analyseurs YAML 1.1 traitaient aussi yes, no, on et off comme des booléens, d’où le fameux « problème de la Norvège » (le code pays NO lu comme faux). Cet outil suit YAML 1.2.
Les commentaires YAML sont-ils conservés ?
Non. JSON n’a pas de commentaires : ils sont perdus lors de la conversion YAML → JSON. Dans le sens JSON → YAML, vous pouvez en ajouter ensuite dans le résultat.
Puis-je convertir un fichier Kubernetes qui contient plusieurs ressources ?
Oui. Chaque ressource séparée par --- devient un élément d’un tableau JSON. Reconvertir ce tableau en YAML donne un seul document contenant une liste.
L'outil modifie-t-il l'ordre des clés ?
Pas si vous ne cochez pas Trier les clés : les clés gardent l’ordre de votre saisie. Seule exception, qui vient de JavaScript lui-même : les clés qui sont des nombres entiers, comme "10" ou "2", sont placées en premier, par ordre croissant.
Outils similaires
- Formateur et validateur JSON Formateur et validateur JSON gratuit qui indente, minifie et vérifie votre JSON dans le navigateur, avec erreurs signalées par ligne et colonne.
- Convertisseur JSON en CSV Convertissez du JSON en CSV et du CSV en JSON dans votre navigateur. Clés imbriquées aplaties, séparateur détecté, aucune donnée envoyée.
- Convertisseur JSON en XML Convertissez du JSON en XML et du XML en JSON dans votre navigateur : attributs, éléments répétés et CDATA gérés, aucune donnée envoyée.