Mode d’emploi
- Collez du YAML dans le champ de saisie, ou essayez l'exemple.
- Choisissez une indentation de 2 ou 4 espaces.
- Copiez le JSON ou téléchargez-le sous forme de fichier .json.
Fonctionnement
Le YAML est analysé avec la bibliothèque open source yaml en utilisant le schéma de base YAML 1.2, celui attendu par les outils modernes : yes, no, on et off restent des chaînes, et seuls true et false sont des booléens. Les ancres (&name) et les alias (*name) sont développés et les clés de fusion << sont appliquées ; le nombre d'expansions d'alias est limité, de sorte que les documents délibérément explosifs sont rejetés au lieu de bloquer la page.
Un fichier contenant plusieurs documents séparés par --- devient un tableau JSON avec un élément par document. Les commentaires, les ancres et les tags n'ont pas d'équivalent JSON et sont supprimés ; l'ordre des clés est conservé. Les horodatages restent des chaînes. Les entiers de plus d'environ 15 chiffres perdent en précision, comme pour tout JSON traité en JavaScript.
Si le YAML est invalide, la première erreur est affichée avec sa ligne et sa colonne, par exemple une tabulation utilisée pour l'indentation ou un crochet fermant manquant. Pour l'opération inverse, utilisez JSON vers YAML ou le convertisseur bidirectionnel JSON ⇄ YAML.
Exemples
Fichier CI avec ancres
Une liste de tâches qui réutilise un bloc de valeurs par défaut avec <<: *defaults devient du JSON avec les valeurs par défaut copiées dans chaque tâche, pour voir exactement ce que chaque tâche reçoit.
Fichier Kubernetes multi-documents
Un fichier avec un Deployment et un Service séparés par --- devient un tableau JSON de deux objets, prêt pour kubectl ou jq.
Foire aux questions
Pourquoi yes reste-t-il une chaîne ?
YAML 1.2, utilisé ici et par la plupart des outils actuels, ne considère comme booléens que true et false. Les anciens analyseurs YAML 1.1 transformaient yes, no, on et off en booléens, ce qui causait de nombreux bugs.
Que deviennent les commentaires ?
JSON ne contient pas de commentaires, ils sont donc supprimés. Les données elles-mêmes ne sont pas modifiées.
Y a-t-il une limite de taille ?
Uniquement la mémoire de votre navigateur. Les fichiers volumineux sont convertis après une courte pause pendant la saisie, afin que la page reste réactive.
Confidentialité
La conversion s'effectue entièrement dans votre navigateur. Vos données YAML et JSON ne sont ni envoyées ni stockées.