Convertisseur YAML vers JSON

Convertissez des données YAML en JSON. Transformez instantanément dans le navigateur des structures écrites en YAML — manifestes Kubernetes, docker-compose.yml, fichiers de configuration CI — vers un format que des outils exclusivement JSON comme jq peuvent traiter.

Qu'est-ce que la conversion de YAML vers JSON ?

La conversion de YAML vers JSON prend une configuration écrite dans le format YAML, conçu pour être lu et modifié facilement par des humains — manifestes Kubernetes, fichiers docker-compose.yml, définitions de workflows GitHub Actions — et la transforme, directement dans votre navigateur, en JSON, un format que les programmes peuvent traiter de façon mécanique. Cet outil comprend les mappings (`clé: valeur`), les séquences en bloc (`- élément`), les séquences en flux (`[a, b, c]`), les mappings en flux (`{a: 1, b: 2}`), les scalaires de base comme les chaînes de caractères, les entiers, les décimaux, les booléens et les valeurs nulles, ainsi que les commentaires `#`. Tant que votre YAML se limite aux constructions courantes des fichiers de configuration du quotidien, vous pouvez le coller et obtenir immédiatement une représentation JSON fonctionnelle.

Cela dit, ce convertisseur n'implémente pas l'intégralité de la spécification YAML 1.2. Il laisse volontairement de côté les ancres (`&`) et les alias (`*`) utilisés pour réutiliser des valeurs, les flux multi-documents (un deuxième marqueur `---` ou suivant déclenche une erreur), les scalaires en bloc (`|` et `>`) pour les chaînes multilignes, ainsi que les séquences imbriquées sur la même ligne comme `- - élément`. Si votre saisie s'appuie sur l'une de ces fonctionnalités avancées, la conversion échouera avec une erreur ; il est donc utile de réécrire cette partie sous une forme équivalente plus simple avant de la coller. Tout le traitement s'exécute localement dans votre navigateur — rien de ce que vous collez n'est jamais envoyé à un serveur externe, ce qui compte lorsque le YAML examiné contient des identifiants ou des détails d'infrastructure interne.

Comment utiliser le convertisseur YAML vers JSON

  1. Collez votre YAML Collez le YAML que vous souhaitez convertir dans la zone de saisie à gauche. Si vous n'avez pas de fichier sous la main, cliquez sur « Charger un exemple » pour d'abord essayer un exemple fonctionnel.
  2. Vérifiez le JSON converti Le résultat JSON apparaît à droite dès que vous tapez ou collez du texte. En cas de problème de syntaxe dans la saisie, un message d'erreur expliquant la cause probable s'affiche à la place.
  3. Activez ou désactivez l'affichage formaté Activez « Affichage formaté » pour obtenir une mise en page indentée et facile à lire, ou désactivez-le pour tout réduire à une seule ligne sans saut de ligne, selon l'endroit où vous allez coller le résultat.
  4. Copiez ou téléchargez le résultat Utilisez le bouton copier pour envoyer directement le JSON dans le presse-papiers, ou le bouton télécharger pour l'enregistrer sous forme de fichier .json autonome à réutiliser plus tard.

Astuces pour en tirer le meilleur parti

  • Collez directement un manifeste Kubernetes ou un docker-compose.yml pour visualiser sa structure en JSON, afin que des outils en ligne de commande comme jq, qui ne comprennent que le JSON, puissent l'interroger.
  • Les valeurs non entre guillemets commençant par un zéro, comme les codes postaux ou numéros de téléphone, sont interprétées comme des nombres et perdent ce zéro initial ; mettez toujours entre guillemets les valeurs que vous voulez conserver en texte.
  • Le YAML complexe utilisant des ancres (`&`), des alias (`*`) ou des scalaires en bloc (`|`/`>`) n'est pas pris en charge. Réécrivez-le sous une forme plus simple avant de le coller.
  • Décochez « Affichage formaté » pour obtenir un JSON sur une seule ligne sans saut de ligne, pratique pour le coller dans le corps d'une requête API où les sauts de ligne ne sont pas souhaités.

Dans quels cas la conversion de YAML vers JSON est utile

Interroger un manifeste Kubernetes avec jq

Les manifestes peuvent facilement atteindre plusieurs centaines de lignes. Convertissez-en un en JSON et transmettez-le à jq : un chemin comme `.spec.containers[].image` extrait alors instantanément exactement la valeur dont vous avez besoin.

Alimenter un script avec docker-compose.yml

Si un script ou une automatisation que vous écrivez n'intègre pas déjà un analyseur YAML, convertir d'abord le fichier compose en JSON vous permet de le lire avec un simple analyseur JSON intégré.

Visualiser la structure d'une configuration CI

Collez un fichier de workflow GitHub Actions ou GitLab CI pour voir sa structure représentée en JSON — les relations imbriquées, faciles à perdre de vue dans une vue reposant uniquement sur l'indentation, deviennent des chemins de clés explicites.

Se préparer à utiliser un outil ou une API n'acceptant que le YAML

Même si votre source de vérité est en JSON, convertir d'abord un fichier YAML existant peut vous aider à confirmer précisément comment sa structure est organisée avant d'écrire du code qui s'appuie dessus.

Enchaîner avec d'autres outils JSON

Collez le JSON converti directement dans JSON vers définitions de types TypeScript ou dans le formateur JSON pour continuer à le manipuler.

Glossaire YAML

YAML
Un acronyme récursif pour « YAML Ain't Markup Language ». YAML représente les structures imbriquées par indentation plutôt que par des crochets, et autorise les commentaires ainsi que des guillemets pour la plupart facultatifs, ce qui en fait le format de prédilection pour les fichiers de configuration édités à la main.
Mapping
Une structure YAML qui associe des clés à des valeurs via la syntaxe `clé: valeur`. Elle correspond à un objet JSON, et les lignes partageant le même niveau d'indentation sont traitées comme des clés appartenant au même niveau de la structure.
Séquence en bloc
Un tableau YAML écrit sous la forme d'une série de lignes commençant chacune par un tiret suivi d'un espace, comme `- élément`. Il correspond à un tableau JSON ; cet outil lit une suite de lignes `-` au même niveau d'indentation comme un seul et même tableau.
Style de flux
Une façon d'écrire une séquence ou un mapping sur une seule ligne sans recourir au style de bloc basé sur l'indentation, comme `[a, b, c]` ou `{a: 1, b: 2}`. Cela ressemble beaucoup plus à la manière dont s'écrivent les tableaux et objets JSON.
Ancres et alias
Une fonctionnalité de YAML où `&nom` étiquette une valeur afin qu'elle puisse être référencée ailleurs avec `*nom`, permettant de réutiliser le même bloc de configuration sans le répéter. Cet outil ne prend pas en charge cette fonctionnalité.
Scalaire en bloc
Une façon d'écrire une chaîne multiligne commençant par `|` (qui conserve les sauts de ligne) ou `>` (qui replie les sauts de ligne en espaces). Fréquemment utilisé pour intégrer des scripts shell ou de longues descriptions, mais non pris en charge par cet outil.
Flux de documents
Un mécanisme permettant de regrouper plusieurs documents YAML dans un seul fichier, séparés par des marqueurs `---`. Les configurations Kubernetes regroupent souvent plusieurs ressources de cette façon, mais cet outil ne convertit qu'un seul document à la fois.

Questions fréquentes

C'est utile lorsque vous voulez interroger ou traiter un manifeste Kubernetes ou un fichier de configuration CI avec un outil en ligne de commande exclusivement JSON comme jq, ou lorsqu'une API ou un script n'accepte que du JSON et ne peut pas recevoir du YAML directement.

Non. Cet outil est un analyseur léger limité aux constructions les plus courantes (mappings, séquences, scalaires de base) ; les fonctionnalités de réutilisation de valeurs comme les ancres et alias, les flux multi-documents et les scalaires en bloc (`|`/`>`) ne sont donc pas pris en charge.

La cause la plus fréquente est une indentation incohérente : des éléments de même niveau avec un nombre d'espaces différent, ou une indentation faite avec des tabulations au lieu d'espaces. L'absence d'un espace après les deux-points dans `clé: valeur` provoque également un échec d'analyse.

Cet outil ne prend en charge que le sens YAML vers JSON. Si vous devez formater ou valider du JSON ou du YAML séparément, consultez les autres outils de formatage de ce site.
Tool-kun

Anecdote — Pourquoi les fichiers de configuration sont écrits en YAML mais les outils réclament du JSON

Le YAML est largement utilisé pour les fichiers de configuration édités directement par des humains — Kubernetes, docker-compose, workflows GitHub Actions, playbooks Ansible — grâce à sa lisibilité : les commentaires sont autorisés et les guillemets sont pour la plupart facultatifs. Le JSON, en revanche, possède une spécification restreinte et sans ambiguïté, facile à traiter mécaniquement par les programmes, ce qui en a fait le format standard pour l'échange de données des API et des outils en ligne de commande comme jq.

La conversion de YAML en JSON comble ce fossé entre « les humains écrivent du YAML, les outils veulent du JSON ». Les manifestes Kubernetes en particulier peuvent atteindre plusieurs centaines de lignes, et `grep` seul atteint vite ses limites lorsqu'il s'agit de retrouver une valeur précise. En convertissant d'abord en JSON puis en interrogeant avec jq, on peut extraire exactement la valeur recherchée avec un chemin tel que `.spec.containers[].image`.

Cela dit, la spécification complète de YAML (YAML 1.2) est très vaste et couvre des fonctionnalités avancées comme la réutilisation de valeurs via les ancres et alias, les flux multi-documents et les scalaires en bloc pour les chaînes multilignes. Cet outil laisse volontairement de côté toute cette étendue et se concentre sur le « sous-ensemble commun » des mappings, séquences et scalaires de base qui apparaît le plus souvent en pratique, gardant ainsi une implémentation simple et sans dépendance externe.