Outils / Texte et données / Convertisseur YAML vers JSON
Côté client

Convertisseur YAML vers JSON

Collez du YAML ou déposez un fichier .yaml/.yml et obtenez instantanément du JSON correctement typé, verrouillé sur le sens YAML vers JSON, avec un traitement entièrement local dans le navigateur.

Ce que fait l'outil

  • Verrouillé sur le sens YAML vers JSON avec les deux formats présélectionnés
  • L'inférence de type correcte révèle les surprises du typage implicite YAML
  • Sortie JSON formatée (indentation 2 espaces) ou minifiée à copier ou télécharger
  • Fonctionne localement, vos secrets et identifiants Kubernetes ne quittent jamais l'onglet

Cet outil convertit le YAML en JSON entièrement dans votre navigateur, de sorte que la configuration ne quitte jamais votre machine et que rien n'est envoyé vers un serveur. Les développeurs et les ingénieurs DevOps y ont recours lorsqu'ils doivent fournir une configuration lisible par un humain (manifestes Kubernetes, valeurs Helm, Docker Compose, GitHub Actions, Ansible) à un système qui ne parle que le JSON : une API, un validateur JSON Schema, ou une application JS/TS. Comme ce YAML contient si souvent des clés d'API, des données kubeconfig, des noms d'hôtes internes et des identifiants de base de données, le coller dans le serveur d'un inconnu pose un véritable problème de conformité, et c'est précisément ce problème que cette page élimine.

Ce que cette conversion fait réellement (et ce qu'elle ne fait PAS)

La conversion de YAML vers JSON est une conversion avec perte, et l'admettre d'emblée vous évite des surprises silencieuses. Le JSON n'a pas de syntaxe de commentaire, donc chaque commentaire # de votre YAML est supprimé et est irrécupérable dans la sortie. Les ancres YAML (&) et les alias (*) sont résolus et développés en ligne, ce qui signifie que chaque valeur référencée est dupliquée partout où elle était aliasée, car le JSON n'a aucune notion de référence ni de déduplication. Les clés de fusion (<<) sont aplaties de la même manière. Les scalaires de bloc YAML (| littéral et > plié) deviennent des chaînes JSON ordinaires dont les sauts de ligne sont encodés en échappements \n, de sorte que l'intention de mise en forme visuelle disparaît même si le contenu survit.

Deux autres points à connaître. Un YAML multi-documents séparé par --- n'a pas d'équivalent JSON unique, il est donc découpé et généralement émis sous forme de tableau JSON avec un élément par document (les marqueurs de fin de document ... sont supprimés). Et le JSON impose un typage et une mise entre guillemets explicites, ce qui fait remonter les surprises du typage implicite de YAML : le fameux « problème de la Norvège », où les valeurs non guillemetées no, yes, on et off sont lues comme des booléens, et où les valeurs ressemblant à des versions ou comportant un zéro initial comme 1.20 sont converties. Le JSON rend simplement visibles les véritables types analysés. Notez que le sens importe : le JSON est un sous-ensemble strict du YAML, donc le trajet inverse (JSON vers YAML) est toujours sans perte alors que YAML vers JSON ne l'est pas.

Quand choisir YAML vers JSON plutôt que de conserver le YAML

Choisissez YAML vers JSON lorsque vous fournissez une configuration à une API, à un validateur JSON Schema, à une application JS/TS, ou à tout outil qui n'accepte que du JSON. Conservez les données en YAML lorsque des humains doivent les lire et les modifier, ce qui explique pourquoi les manifestes Kubernetes et les fichiers Compose existent en YAML en premier lieu. Attendez-vous à ce que le JSON soit plus volumineux en octets que le YAML basé sur l'indentation, car les accolades, les crochets et les guillemets ajoutent une surcharge : choisissez la sortie minifiée quand la taille compte et la sortie formatée quand un humain la lira. Si vous devez ensuite revenir en arrière, vous trouverez d'autres conversions parmi les outils texte et données.

Comment convertir du YAML en JSON

  1. Ouvrez le convertisseur — les formats d'entrée et de sortie sont déjà présélectionnés sur YAML et JSON pour ce sens.
  2. Collez votre YAML, ou déposez un fichier .yaml ou .yml dans la zone de saisie.
  3. Cliquez sur convertir et le JSON correctement typé apparaît dans le panneau de sortie.
  4. Copiez le résultat dans votre presse-papiers ou téléchargez-le sous forme de fichier .json.

Aucun envoi. Tout s'exécute sur votre appareil.

L'analyse YAML et la sérialisation JSON se font toutes deux en Rust compilé en WebAssembly, exécuté à l'intérieur de l'onglet de votre navigateur. Il n'y a aucune requête réseau pour la conversion, l'outil fonctionne entièrement hors ligne une fois la page chargée, et il n'y a rien à supprimer ensuite puisque rien n'a jamais été envoyé. Vous pouvez le vérifier : ouvrez les outils de développement de votre navigateur, observez l'onglet Réseau pendant que vous convertissez, et vous ne verrez aucun trafic. Cela compte d'autant plus pour le contenu que le YAML transporte généralement, à savoir des secrets et des identifiants comme les données kubeconfig de Kubernetes, les surcharges de valeurs Helm, les jetons CI et les mots de passe de base de données, qui ne devraient jamais être collés dans un serveur tiers.

Aucune limite

Aucune limite de taille de fichier, aucune limite de nombre de documents, aucun filigrane, aucune inscription et aucune publicité. Convertissez autant de manifestes ou de fichiers de valeurs que nécessaire.

Foire aux questions

La conversion de YAML vers JSON est-elle avec perte ? Qu'est-ce qui est supprimé ?
Oui, elle est avec perte. Les commentaires, les références d'ancres et d'alias, les clés de fusion et la mise en forme visuelle des scalaires de bloc ne survivent pas, car le JSON n'a de syntaxe pour aucun d'eux. Les valeurs de données elles-mêmes sont préservées, mais la structure propre à YAML qui les entoure est aplatie ou supprimée.
Qu'advient-il de mes commentaires YAML lors de la conversion en JSON ?
Chaque commentaire # est supprimé lors de la conversion et ne peut être récupéré. Le JSON n'a aucune syntaxe de commentaire, donc ces lignes n'ont nulle part où aller dans la sortie. Conservez une copie du YAML original si les commentaires sont importants pour vous.
Mes ancres et alias YAML sont-ils préservés dans la sortie JSON ?
Non. Les ancres (&) et les alias (*) sont résolus et développés en ligne, de sorte que chaque valeur référencée est dupliquée partout où elle était aliasée. Les clés de fusion (<<) sont aplaties de la même manière, puisque le JSON n'a aucune notion de référence ni de déduplication.
Puis-je convertir un fichier YAML multi-documents séparé par --- ?
Oui. Un flux YAML multi-documents n'a pas d'équivalent JSON unique, il est donc découpé et émis sous forme de tableau JSON avec un élément par document. Les marqueurs de fin de document (...) sont supprimés au passage.
Est-il sûr de convertir ici un fichier YAML contenant des secrets ou des identifiants Kubernetes ?
Oui, car la conversion s'exécute entièrement dans votre navigateur via Rust et WebAssembly, sans aucune requête réseau. Vos données kubeconfig, vos clés d'API et vos identifiants de base de données ne touchent jamais un serveur ni un journal. Vous pouvez le confirmer dans l'onglet Réseau des outils de développement de votre navigateur.
Mon YAML est-il envoyé vers un serveur, ou est-il converti dans mon navigateur ?
Il est converti localement dans votre navigateur et n'est jamais envoyé. L'outil fonctionne hors ligne une fois la page chargée, ce qui n'est possible que parce que tout le traitement est côté client. Rien n'est stocké ni transmis.
Quelle est la différence entre YAML et JSON, et pourquoi convertir ?
Le YAML utilise l'indentation et est optimisé pour que les humains le lisent et le modifient, tandis que le JSON utilise des accolades et des guillemets et est ce que la plupart des API, des validateurs et de l'outillage JS consomment. Vous convertissez le YAML en JSON quand une machine a besoin des données ; vous conservez le YAML quand une personne doit les maintenir.
Puis-je convertir un manifeste YAML Kubernetes ou Helm en JSON ?
Oui, c'est l'un des usages les plus courants. Collez le manifeste ou le fichier de valeurs et vous obtenez du JSON adapté à un appel d'API ou à un validateur JSON Schema. Comme tout s'exécute localement, les secrets et les surcharges contenus dans ces fichiers restent sur votre machine.
Pourquoi mes valeurs non guillemetées comme no, yes ou 1.20 ont-elles changé de type ?
Le YAML utilise le typage implicite, donc les valeurs non guillemetées no, yes, on et off sont analysées comme des booléens et des valeurs comme 1.20 sont lues comme des nombres. Le JSON impose des types explicites, donc la sortie rend simplement visibles ces véritables types analysés. Mettez les valeurs entre guillemets dans votre YAML si vous les vouliez comme des chaînes.
Puis-je obtenir une sortie JSON minifiée ou formatée ?
Oui. La sortie formatée utilise une indentation de 2 espaces pour la lisibilité, tandis que la sortie minifiée supprime les espaces pour réduire la taille en octets. Le JSON des mêmes données est généralement plus volumineux que le YAML source dans les deux cas, à cause des accolades, crochets et guillemets ajoutés.

Outils connexes : découvrez d'autres conversions parmi les outils texte et données.