Aller au contenu principal

Convertisseur YAML vers JSON — outil gratuit

Convertissez YAML en JSON et JSON en YAML dans les deux sens. Collez dans l'un ou l'autre format et obtenez la sortie convertie instantanément — sans téléversement sur un serveur.

Fonctionne hors ligne une fois chargé
Sortie JSON
La sortie apparaîtra ici…

Utilisations courantes

  • Convertir YAML en JSON pour les manifestes KubernetesConvertissez Kubernetes YAML en JSON (ou vice-versa) pour les outils, les scripts de validation ou l'application directe via l'API.
  • Conversion Docker Compose YAML / JSONConvertissez docker-compose.yml en JSON pour l'inspection ou revenez à YAML après les modifications programmatiques.
  • Conversion de la configuration du pipeline CI/CDConvertissez GitHub Actions, GitLab CI, CircleCI et d'autres configurations de pipeline entre les formats YAML et JSON.
  • Conversion du fichier de configuration de l'applicationConvertissez les fichiers de configuration d'application entre YAML et JSON, utile lors du changement de frameworks ou du partage de configurations entre les outils.
  • Conversion de spécification OpenAPI / SwaggerConvertissez les spécifications de l'API OpenAPI 3.x ou Swagger 2.0 entre les formats YAML et JSON. Les deux formats sont valides et interchangeables.

Comment ça marche

Les deux sens de la conversion — YAML vers JSON et JSON vers YAML — s'exécutent entièrement dans votre navigateur avec un analyseur et un émetteur écrits à la main intégrés à la page, sans bibliothèque YAML tierce et sans serveur impliqué. La logique réside dans un seul module TypeScript (lib/yamljson.ts) qui gère les mappages, les séquences, les scalaires, les chaînes entre guillemets, et le retrait des commentaires en ligne.

  1. 1
    La saisie est prétraitée ligne par ligne
    Pour la saisie YAML, l'analyseur découpe le texte en lignes, retire les commentaires en ligne (en suivant l'état des guillemets pour éviter de retirer # à l'intérieur des chaînes), mesure la profondeur d'indentation, et écarte les lignes vides — construisant une liste structurée de jetons avant que l'analyse ne commence.
  2. 2
    Un analyseur à descente récursive construit l'arbre de données
    L'analyseur parcourt la liste de jetons en utilisant le niveau d'indentation pour déterminer la structure. Il reconnaît les éléments de séquence (- valeur), les clés de mappage (clé: valeur), et les blocs imbriqués. Les scalaires passent par une étape de coercition typée qui gère null, les booléens, les entiers (rejetant les valeurs à zéro en tête comme 007 pour éviter une corruption silencieuse des données), et les nombres à virgule flottante — avec un mode optionnel qui garde les mots nus YAML 1.1 comme yes, no, on, et off en tant que chaînes plutôt que de les convertir en booléens.
  3. 3
    Les fonctionnalités YAML non prises en charge sont signalées, pas silencieusement abandonnées
    Avant de produire le résultat, l'outil analyse à la recherche d'ancres (&nom), d'alias (*nom), de clés de fusion (<<:), de scalaires de bloc (| et >), de marqueurs multi-documents (---), et de clés de mappage dupliquées. Chacun de ces éléments déclenche un avertissement visible plutôt que de produire un JSON subtilement incorrect.
  4. 4
    Le JSON est sérialisé ou le YAML est émis, puis mis à disposition
    Pour YAML→JSON, la valeur analysée est transmise à JSON.stringify avec l'indentation choisie (2 espaces, 4 espaces, tabulation, ou minifié). Pour JSON→YAML, un émetteur personnalisé parcourt la valeur JavaScript analysée et produit du YAML indenté, en mettant entre guillemets les scalaires de chaîne uniquement si nécessaire (par exemple, des valeurs contenant :, #, ou ressemblant à des mots réservés). Le résultat apparaît instantanément pendant que vous tapez et peut être copié ou téléchargé.

Outils associés

Questions fréquemment posées