YAML to JSON Converter
Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.
Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.
YAML et JSON sont des formats étroitement liés (JSON est techniquement un sous-ensemble strict de YAML 1.2) et la conversion entre eux est généralement simple. YAML ajoute des fonctionnalités conviviales qui manquent à JSON : commentaires, chaînes multilignes sans échappement, références d'ancrage et d'alias, citations plus flexibles et structure basée sur l'indentation qui ressemble à la mise en page naturelle d'un document. Cela fait de YAML le choix populaire pour les fichiers de configuration (manifestes Kubernetes, workflows GitHub Actions, Docker Compose), tandis que JSON domine les charges utiles des API.
Convertir YAML en JSON signifie généralement abandonner les extras conviviaux de YAML en échange d'un format que les machines analysent plus facilement et qui est la lingua franca des API HTTP. Les commentaires sont supprimés (JSON n’en a pas). Les références d'ancrage sont résolues en leurs valeurs de référent. Les chaînes multilignes se réduisent en chaînes JSON standard avec des nouvelles lignes intégrées.
Ce convertisseur analyse YAML à l'aide de js-yaml, la bibliothèque YAML la plus utilisée en JavaScript. La sortie est générée à l'aide de JSON.stringify avec une indentation facultative. La conversion gère toute la syntaxe YAML 1.2 standard, y compris le style de flux, le style de bloc, les scalaires, les séquences, les mappages, les ancres, les alias et les types de balises standard.
La plupart des API et de nombreux environnements de programmation attendent JSON. Les fichiers de configuration écrits en YAML doivent être convertis en JSON lors de l'intégration avec du code ou des services qui n'acceptent que JSON. Les outils pour JSON sont également plus abondants : jq, JSON Path, JSON Schema et un large écosystème de validateurs et de transformateurs supposent tous une entrée JSON.
JSON est également sans ambiguïté, contrairement à YAML. La flexibilité de YAML crée des surprises lors de l'analyse : des chaînes telles que "no" sont analysées comme booléennes false dans YAML 1.1, des chaînes de version sont analysées comme des flottants, des erreurs d'indentation produisent des changements structurels silencieux. La conversion en JSON gèle les données sous une forme moins ambiguë.
Collez YAML, obtenez JSON.
js-yaml implémente YAML 1.2 avec une prise en charge facultative des bizarreries de YAML 1.1 (le problème du « non » comme faux, les nombres octaux sans préfixe 0o). L'analyseur produit une arborescence d'objets JavaScript en utilisant des types natifs : nombres, chaînes, booléens, valeurs nulles, tableaux et objets simples.
JSON.stringify sérialise l'arborescence des objets en JSON. L'indentation facultative produit une sortie joliment imprimée ; sans cela, le résultat est un JSON compact sur une seule ligne. Les valeurs spéciales (NaN, Infinity, non défini) ne sont pas des JSON valides ; le convertisseur les contraint à null lorsqu'ils sont présents.
Cas extrêmes : les horodatages YAML deviennent des chaînes ISO-8601 en JSON. Les données binaires YAML (codées en base64) deviennent une chaîne. Les ancres et les alias sont résolus en valeurs en double dans JSON, car JSON n'a pas de syntaxe de référence.