Convertisseur YAML vers JSON
Collez du YAML (manifestes Kubernetes, Docker Compose, configurations CI) et obtenez instantanément du JSON propre. Les erreurs indiquent la ligne exacte avec un repère.
Fonctionne dans le navigateurSans inscriptionAucun envoi de données
Comment utiliser : YAML vers JSON
- Collez du YAML dans la zone de gauche ou ouvrez un fichier
.yaml/.yml. - Le JSON apparaît à droite pendant la saisie. Choisissez 2 espaces, 4 espaces ou des tabulations pour la sortie.
- Cochez Trier les clés pour classer les clés par ordre alphabétique. Pratique pour comparer des configurations.
- Si le YAML est invalide, la barre d’état indique la ligne et la colonne, et les lignes en cause s’affichent en dessous avec un repère
^. - Copiez ou téléchargez le JSON, ou cliquez sur Inverser pour le reconvertir en YAML.
Comment le YAML se traduit en JSON
Le JSON est un sous-ensemble de YAML 1.2 : chaque mapping YAML devient un objet JSON, chaque séquence devient un tableau, et les scalaires deviennent des chaînes, des nombres, des booléens ou null. Les fonctionnalités propres au YAML sont résolues lors de la conversion :
- Les commentaires (
# …) sont supprimés, car le JSON n’a pas de commentaires. - Les ancres et alias (
&base,*base,<<: *base) sont développés en copies complètes. - Les dates comme
2024-01-02deviennent des chaînes ISO 8601. - Les chaînes multilignes (blocs littéraux
|et repliés>) deviennent des chaînes ordinaires avec des échappements\n.
YAML multi-documents
Un même fichier peut contenir plusieurs documents YAML séparés par ---, comme c’est courant dans les manifestes Kubernetes. Le JSON n’a pas d’équivalent : le convertisseur renvoie donc un tableau JSON avec un élément par document et le signale dans la barre d’état. Un --- isolé en fin de fichier est ignoré.
Pièges entre YAML 1.1 et 1.2
Ce convertisseur suit YAML 1.2, la spécification actuelle. Beaucoup d’outils plus anciens (PyYAML, Psych de Ruby, certaines versions de Kubernetes et d’Ansible) lisent encore du YAML 1.1, où les règles diffèrent :
- Le problème de la Norvège : en YAML 1.1,
country: nosignifiefalse, et le code pays de la NorvègeNOdisparaît. Il en va de même pouryes,on,off,yetn. YAML 1.2 ne considère comme booléens quetrueetfalse. - Nombres octaux :
0755est octal en 1.1 mais décimal en 1.2, qui utilise0o755. Mettez les permissions de fichiers entre guillemets par sécurité. - Nombres sexagésimaux : en 1.1,
22:30peut être lu comme le nombre 1350. Mettez entre guillemets les heures et les mappings de ports comme"8080:80".
Dans le sens JSON → YAML, les chaînes ambiguës ('no', 'on', 'y') sont automatiquement mises entre guillemets : le YAML produit se lit donc de la même façon dans les deux versions.
Questions fréquentes
Mon YAML est-il envoyé quelque part ?
Pourquoi mon YAML échoue-t-il avec « bad indentation » ?
-) sont indentés de façon cohérente sous leur clé parente.Que deviennent les commentaires YAML ?
Pourquoi <code>no</code> est-il resté une chaîne ?
true/false sont des booléens. Les anciens parseurs YAML 1.1 transformeraient no, yes, on et off en booléens (le « problème de la Norvège »).Puis-je convertir un manifeste Kubernetes contenant plusieurs ressources ?
--- devient un élément du tableau JSON de sortie, prêt pour jq ou kubectl apply -f -, qui accepte aussi les listes JSON.