Conçu sur une IA avancée exécutée sur votre appareil et l'accélération matérielle, pour des performances professionnelles sans compromis sur la confidentialité.IA sur votre appareil : performant et privé.
Convertisseur YAML vers JSON
YAML vers JSON avec manifestes, clés de fusion et ancres
- Rien n'est envoyé
- Multi-documents
- Clés de fusion résolues
- Erreurs situées
Déposez un fichier .yaml ou .yml
Ou collez dans l'éditeur ci-dessous. Jusqu'à 25.0 MB avec l'offre gratuite.
Source YAML
Sortie JSON
L'espacement du JSON. Minifié tient sur une ligne, sans espaces.
Que faire d'un fichier contenant plusieurs documents séparés par ---.
Ordonne les clés par point de code pour que deux conversions des mêmes données se comparent proprement.
JSON ne peut pas conserver les deux valeurs. Modifier ce réglage relit le document.
JSON n'a de littéral pour aucun des deux. Choisissez le sort de .nan, .inf et -.inf.
Les dates restent exactement telles qu'écrites, sauf si vous demandez ISO 8601.
Pro. Tous les documents de tous les fichiers en file, dans un seul tableau JSON.
La version gratuite convertit un fichier jusqu'à 25.0 MB. Toutes les options de sortie sont incluses.
Comment convertir YAML en JSON
- 1
Collez ou déposez votre YAML
Collez dans l'éditeur, faites glisser un fichier .yaml ou .yml sur la zone de dépôt, ou ouvrez l'un des trois exemples. La conversion se fait à la frappe : aucun bouton à presser pour voir le résultat.
- 2
Choisissez la forme de sortie
2 espaces, 4 espaces, tabulations ou minifié. Si le fichier contient plusieurs documents séparés par ---, décidez s'ils deviennent un tableau JSON, le premier document seul, ou un fichier chacun. Activez Trier les clés lorsque la sortie sera comparée.
- 3
Vérifiez ce que la conversion a changé
Le panneau sous le résultat nomme tout ce que JSON ne peut pas reprendre tel quel : les valeurs comme .nan et .inf, les données binaires écrites en base64, et les balises comme !Ref résolues vers la valeur en dessous. Rien ne change en silence.
- 4
Convertissez, puis téléchargez ou copiez
Appuyez sur Convertir pour produire les fichiers, puis téléchargez le .json, copiez-le dans le presse-papiers, ou récupérez tout un lot en une seule archive ZIP. Si le YAML ne se lit pas, l'erreur indique la ligne, la colonne et le texte alentour.
Ce que propose ce convertisseur YAML vers JSON
Collez du YAML, déposez un fichier .yaml ou .yml, ou chargez un exemple : le JSON apparaît à la frappe. Les manifestes multi-documents, les clés de fusion, les ancres et les balises inhabituelles sont traités plutôt que refusés, et tout ce que la conversion a dû changer est compté sous le résultat au lieu de se produire discrètement. Choisissez 2 espaces, 4 espaces, tabulations ou minifié, triez les clés lorsque le fichier sera comparé, puis téléchargez le .json ou copiez-le.
- YAML 1.2 core — Mappages, séquences, styles bloc et flux, scalaires multilignes, ancres, alias et clés de fusion. Les règles scalaires sont celles du schéma core 1.2, donc yes et no restent des chaînes.
- Multi-documents — Un manifeste séparé par --- devient un tableau JSON, son premier document, ou un fichier par document. La version précédente de cet outil refusait ces fichiers.
- Quatre formes de sortie — 2 espaces, 4 espaces, vraies tabulations, ou minifié sur une ligne. Trier les clés met chaque objet dans un ordre stable pour que deux conversions des mêmes données se comparent proprement.
- Des erreurs situées — Le message, la ligne, la colonne, et trois lignes de votre propre source avec un curseur sous le défaut — pas un numéro extrait d'une phrase.
- Rien ne change en silence — Les nombres non finis, les données binaires et les balises résolues sont comptés et nommés sous le résultat, car chacun est une valeur que JSON ne peut pas reprendre telle quelle.
- Lot et ZIP — Mettez jusqu'à 50 fichiers en file avec Pro, récupérez-les en une archive, ou repliez tous les documents de tous les fichiers dans un unique tableau JSON.
YAML multi-documents et manifestes Kubernetes
Un fichier YAML peut contenir plusieurs documents, séparés par trois tirets sur leur propre ligne. C'est la forme normale d'un manifeste Kubernetes — un Namespace, un Deployment et un Service dans un seul fichier — et c'est aussi ainsi que kubectl, kustomize et helm template écrivent leur sortie. JSON n'a pas de séparateur équivalent : un convertisseur doit donc trancher, et refuser le fichier est la décision que prennent la plupart d'entre eux.
- Automatique — Un document devient un objet ; plusieurs deviennent un tableau d'objets. C'est ce que l'on attend, et c'est le réglage par défaut.
- Toujours un tableau — Toujours un tableau, même pour un document unique. À utiliser quand le consommateur du JSON itère sans vérifier et qu'un objet isolé le casserait.
- Premier document seulement — Prend le document de tête et abandonne le reste. Utile quand un manifeste a été concaténé à un fichier dont vous n'avez besoin que du début.
- Fichiers séparés — Un .json par document, numéroté avec des zéros de tête pour qu'un listage de dossier suive l'ordre d'origine. Aucun des concurrents cités sur cette page ne le propose.
- Les documents vides comptent — Une suite de --- sans rien entre les marqueurs est une suite de documents null : ils sont conservés plutôt qu'abandonnés, car leurs positions portent du sens dans un correctif.
Ancres, alias et clés de fusion
YAML permet de nommer un nœud avec &ancre et d'y renvoyer plus loin avec *alias, et permet à un mappage d'en absorber un autre avec la clé de fusion <<. Ensemble, ce sont les moyens par lesquels les fichiers docker-compose, les pipelines GitLab CI et les valeurs Helm évitent de se répéter. JSON n'a rien de tout cela : chaque référence doit donc être développée sur place, et la manière dont un convertisseur traite la clé de fusion fait la différence entre un résultat juste et un résultat plausible mais faux.
- Les alias sont développés — Chaque nœud référencé est réécrit là où il est utilisé. Deux alias vers la même ancre produisent deux sous-arbres identiques, car JSON ne peut pas exprimer qu'il s'agissait du même nœud.
- Les clés de fusion sont résolues — Un service écrit <<: *common ressort avec les clés partagées fusionnées. Un analyseur qui suit YAML 1.2 à la lettre laisse à la place une clé littérale "<<" contenant un objet imbriqué : du JSON valide, de mauvaises données, et aucune erreur.
- Les clés suivantes l'emportent — Les clés écrites directement sur le mappage remplacent celles qu'il a fusionnées, comportement sur lequel docker-compose et GitLab CI s'appuient.
- Le développement est borné — Les ancres peuvent être imbriquées de sorte qu'un fichier minuscule se développe en gigaoctets. Le développement possible est mesuré avant toute analyse, et un fichier susceptible de dépasser le budget est refusé en quelques millisecondes plutôt que de figer la page.
Comment les types YAML deviennent du JSON
Les règles scalaires sont celles du schéma core de YAML 1.2, et elles diffèrent de YAML 1.1 précisément là où se joue le fait qu'une valeur arrive comme chaîne ou comme nombre. Se tromper ici n'est pas une question de mise en forme : cela change les données.
- Les booléens sont true et false, rien d'autre — yes, no, on, off, y et n restent des chaînes. Sous YAML 1.1 ils deviendraient des booléens, ce qui explique combien de pipelines l'indicatif NO de la Norvège a cassés.
- Les nombres sont décimaux, octaux et hexadécimaux — 42, 0o14 et 0x1F sont des nombres. 1_000 est une chaîne, car les séparateurs par tiret bas relèvent de 1.1 ; 0b1010 aussi, pour la même raison.
- Les horodatages restent tels quels — 2001-12-14 est la chaîne que vous avez tapée, pas une date décalée dans le fuseau de votre machine. Passez le réglage sur ISO 8601 pour les normaliser ; le décompte de ce qui a changé apparaît sous le résultat.
- Les scalaires de bloc gardent leurs sauts de ligne — Un bloc | conserve chaque retour à la ligne ; un bloc > les replie en espaces. Les deux arrivent comme des chaînes JSON ordinaires avec les espaces décrits par le YAML.
- Les balises se résolvent vers la valeur portée — !Ref, !GetAtt, !Sub et toute autre balise inhabituelle vous donnent le scalaire, la séquence ou le mappage auquel elles étaient attachées, et les noms de balises sont listés sous le résultat.
Les valeurs que JSON ne peut pas représenter
Une partie du YAML n'a aucun équivalent JSON. Tout convertisseur doit en faire quelque chose, et presque tous le font sans vous le dire. Ici la règle est que rien ne change en silence : chacun de ces cas est compté, nommé, et là où il existe un vrai choix, il est le vôtre.
- .nan, .inf et -.inf — JSON n'a de littéral pour aucun des trois. Par défaut null est écrit et le nombre de conversions est compté ; ils peuvent aussi être écrits sous forme de chaînes, ou la conversion peut s'arrêter pour que vous décidiez dans la source.
- Données binaires — Un nœud !!binary devient une chaîne base64 — le même texte que dans le YAML, donc rien n'est perdu, mais c'est désormais une chaîne et non des octets.
- Clés composées — Un mappage ou une séquence utilisé comme clé n'a pas d'équivalent JSON : il est rendu sous forme de texte. La clé est préservée au lieu d'être transformée en quelque chose comme [object Object], ce que produit une conversion naïve.
- Alias circulaires — Une ancre qui se référence elle-même est du YAML légal et du JSON impossible. C'est signalé comme alias circulaire avec le chemin du nœud, plutôt que d'échouer au fond d'un sérialiseur.
- Commentaires — Les commentaires YAML ne sont pas des données et aucun document JSON ne peut les porter. Ils sont abandonnés, comme chez tous les convertisseurs — bon à savoir si ces commentaires portaient la documentation d'une configuration.
Clés en double et autres pertes discrètes
Les défaillances dont il faut se prémunir ne sont pas celles qui produisent une erreur. Ce sont celles qui produisent un document net, plausible et faux. Une clé en double en est l'exemple le plus clair : YAML vous permet de l'écrire, JSON ne peut pas conserver les deux valeurs, et l'une d'elles disparaît donc à la conversion.
- Refuser, par défaut — La conversion s'arrête et nomme la ligne et la colonne de la deuxième clé. C'est le réglage sûr, car l'alternative est un fichier qui a l'air converti et auquel il manque une valeur.
- Ou garder la dernière — Changez le réglage et la conversion aboutit avec « la dernière l'emporte », ce que fait la plupart de l'outillage YAML. La différence, c'est que vous l'avez choisi.
- Le revers, c'est la tabulation — YAML interdit les tabulations pour l'indentation. Un fichier parfaitement aligné dans un éditeur réglé sur deux espaces par tabulation ne s'analysera pas, et l'erreur nomme la ligne.
- Triez les clés avant de comparer — Deux exports des mêmes données peuvent ne différer que par l'ordre des clés. Le tri fait que la comparaison montre les changements plutôt que l'ordre.
Un manifeste de 25 Mo se convertit en un peu plus d'une seconde sur la machine de référence, et tout se déroule sur votre appareil.
Les options de sortie en un coup d'œil
- Retrait — 2 espaces, 4 espaces, vraies tabulations, ou minifié sur une ligne. Les quatre sont gratuits — il n'y a pas d'axe de qualité sur un retrait.
- Documents — Automatique, toujours un tableau, le premier document seulement, ou un fichier par document.
- Trier les clés — Ordonne les clés de chaque objet par point de code, de la même manière dans toutes les langues, pour que la sortie ne dépende pas de la langue du navigateur.
- Clés en double — Refuser et signaler, ou garder la dernière. Ce réglage est un argument de l'analyseur, donc le modifier relit le document.
- Nombres non finis — null, une chaîne, ou arrêter la conversion.
- Horodatages — Les garder exactement tels qu'écrits, ou les normaliser en ISO 8601.
- Combiner (Pro) — Tous les documents de tous les fichiers en file, repliés dans un tableau JSON dans l'ordre de la file.
Pourquoi convertir YAML en JSON ?
Le YAML est écrit par des humains et le JSON est lu par des programmes. La conversion est ce qui permet à une configuration agréable à éditer d'atteindre un système qui n'accepte que du JSON, et c'est le moyen le plus rapide de découvrir ce qu'un fichier dit vraiment quand l'indentation cesse d'être évidente.
- Les API prennent du JSON — Transformez une configuration YAML en corps de requête, en fixture, ou en bloc de réglages pour un service dépourvu d'analyseur YAML.
- Déboguer l'indentation — Quand un manifeste ne se comporte pas comme prévu, le convertir montre la structure vue par l'analyseur, souvent différente de celle que l'indentation suggérait.
- Comparer deux configurations — Convertissez les deux, triez les clés, comparez le JSON. L'ordre et les changements de commentaires cessent d'apparaître comme des différences.
- Alimenter une chaîne JSON — jq, les validateurs JSON Schema et tous les outils JSON de ce site fonctionnent sur le résultat.
- Rien ne quitte votre appareil — Les manifestes contiennent des noms d'hôtes, des registres d'images et parfois un secret. La conversion se fait dans la page : rien de cela n'est envoyé où que ce soit.
Questions fréquentes
Comment fonctionne le convertisseur YAML vers JSON ?
Collez votre YAML ou déposez un fichier .yaml ou .yml : le JSON apparaît à la frappe. Choisissez 2 espaces, 4 espaces, tabulations ou une sortie minifiée, décidez comment les fichiers multi-documents sont regroupés, puis appuyez sur Convertir pour produire le fichier téléchargeable. Tout se passe sur votre appareil : le document n'est jamais envoyé, et le convertisseur continue de fonctionner hors connexion une fois la page chargée.
Gère-t-il les manifestes Kubernetes multi-documents ?
Oui, et c'est la raison de la plupart des visites. Un fichier dont les documents sont séparés par --- sur leur propre ligne est lu comme un flux. Vous décidez ensuite : Automatique donne un objet pour un fichier à un document et un tableau JSON pour un manifeste, Toujours un tableau enveloppe systématiquement, Premier seulement ne garde que le document de tête, et Fichiers séparés écrit un .json par document avec un nom numéroté. Beaucoup de convertisseurs refusent purement et simplement un fichier multi-documents avec une erreur d'analyse.
Les ancres, alias et clés de fusion sont-ils pris en charge ?
Les trois. Les ancres et les alias sont développés sur place, car JSON n'a pas de syntaxe de référence : chaque nœud référencé est réécrit là où il est utilisé. Les clés de fusion sont résolues elles aussi, si bien qu'un service docker-compose écrit <<: *common ressort avec les clés partagées fusionnées, et non avec une clé littérale "<<" contenant un objet imbriqué. Ce résultat littéral est une réponse silencieusement fausse, et c'est ce que produit un analyseur YAML 1.2 strict tant que la fusion n'est pas explicitement activée.
Que deviennent .nan, .inf et les autres valeurs que JSON ne représente pas ?
C'est vous qui choisissez, et le convertisseur vous dit combien il en a trouvé. JSON n'a aucun moyen d'écrire NaN ni Infinity, alors la plupart des outils émettent null sans rien dire. Ici la valeur par défaut reste null, mais le panneau sous le résultat les compte ; vous pouvez aussi les faire écrire sous forme de chaînes "NaN", "Infinity" et "-Infinity", ou faire arrêter la conversion pour corriger la source.
Comment les types YAML deviennent-ils du JSON ?
Les mappages deviennent des objets et les séquences des tableaux. Les scalaires suivent le schéma core de YAML 1.2 : true et false sont des booléens, ~ et null valent null, les entiers et décimaux simples sont des nombres, et tout le reste est une chaîne. Autrement dit yes, no, on et off restent des chaînes, et 1_000 reste une chaîne parce que les séparateurs par tiret bas appartiennent à YAML 1.1. Les scalaires de bloc multilignes conservent exactement leurs retours à la ligne.
Que fait le convertisseur des clés en double ?
Par défaut il refuse le fichier et affiche la ligne et la colonne de la deuxième clé, car une clé en double est une perte de données : JSON ne peut pas conserver les deux valeurs, donc l'une disparaît. Si vous préférez convertir quand même, passez le réglage sur Garder la dernière, ce que fait la plupart de l'outillage YAML. Dans les deux cas vous êtes averti que le doublon existe, et c'est précisément la partie que les autres convertisseurs sautent.
Fonctionne-t-il avec CloudFormation, Helm ou d'autres YAML balisés ?
Les modèles CloudFormation se convertissent. Les balises comme !Ref, !GetAtt et !Sub sont résolues vers le scalaire, la séquence ou le mappage qu'elles portent, et les noms de balises utilisés sont listés sous le résultat pour que rien ne disparaisse discrètement. Les convertisseurs bâtis sur les réglages courants échouent sur les trois avec une erreur de balise inconnue. Les modèles Helm contenant des espaces réservés {{ }} ne sont pas du YAML valide avant rendu : lancez d'abord helm template.
Que se passe-t-il si mon YAML est invalide ?
Vous obtenez le message de l'analyseur, la ligne, la colonne et trois lignes de votre propre source avec un curseur sous la position exacte — pas un numéro de ligne extrait d'une phrase d'erreur. Les causes fréquentes sont une tabulation utilisée pour l'indentation, une séquence de flux non fermée, un guillemet manquant et un alias dont l'ancre n'a jamais été définie ; chacune produit son propre message. Un lien vers l'outil JSON vers YAML est proposé au cas où vous auriez la conversion à l'envers.
Quelle taille de fichier peut-il convertir ?
La version gratuite convertit des fichiers jusqu'à 25 Mo, un à la fois. Sur la machine de référence, un manifeste de 25 Mo s'analyse et se sérialise en un peu plus d'une seconde, entièrement en dehors du fil de l'interface, si bien que la page reste réactive pendant le travail. Pro relève le plafond à ce que votre appareil supporte, met jusqu'à 50 fichiers en file, télécharge un lot en une seule archive ZIP, et peut replier tous les documents de tous les fichiers dans un unique tableau JSON.
Un fichier YAML avec des milliers d'ancres est-il sans danger ?
Oui. Un court fichier YAML peut être écrit de façon que ses ancres se développent en gigaoctets : neuf ancres de neuf alias chacune font 324 octets et gonflent à environ 387 millions de nœuds. Ce convertisseur mesure le développement possible avant toute analyse et refuse le fichier en quelques millisecondes. Les outils qui passent le texte directement à un analyseur bloquent l'onglet plusieurs secondes puis plantent.
sur 76 notes
Notez cet outil
Touchez une étoile — c’est rapide