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.

Astuces d'utilisation

  • 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.

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.
ツールくん

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.

→ Voir toutes les anecdotes