YAML vers JSON
Convertisseur en ligne gratuit de YAML vers JSON basé sur la bibliothèque js-yaml. Les mappings et séquences YAML deviennent des objets et tableaux JSON; mode pretty commutable; réparation automatique de 5 erreurs courantes via tryFixYAML. 100% dans le navigateur sans envois.
Recommandations connexes
À propos de YAML vers JSON : convertissez la configuration YAML en objets JSON standard automatiquement
YAML vers JSON est le processus de conversion de configurations au format YAML (YAML Ain't Markup Language) en objets JSON. YAML est un format de sérialisation de données convivial, largement utilisé dans les manifestes Kubernetes (manifestes k8s, charts Helm), Docker Compose, playbooks Ansible, GitHub Actions, configurations Prometheus et autres scénarios DevOps et cloud-native modernes. JSON est le format standard pour les API web, l'écosystème JavaScript et les fichiers de configuration. Chaque format a ses forces : YAML est concis et lisible, prend en charge les commentaire et les structures complexes, et convient à l'édition humaine ; JSON est explicite, facile à analyser pour les machines et convient à la transmission d'API. Cet outil est conçu pour convertir automatiquement les configurations YAML en JSON pour les applications modernes.
Le cœur de l'outil est d'utiliser la bibliothèque js-yaml pour analyser la structure YAML, puis de la sérialiser en un objet JSON via JSON.stringify. js-yaml est un analyseur YAML JavaScript mature qui prend en charge toute la syntaxe YAML 1.1 standard : scalaires (string, number, boolean, null, date), séquences (tableau), mappages (objet), ancres (&), alias (*), chaînes multilignes (| ou >), commentaire (#). L'utilisation d'une bibliothèque mature apporte les avantages d'une grande stabilité, de peu de bugs et d'une prise en charge complète de la spécification YAML.
Les règles de mappage de YAML vers JSON sont intuitives : les mappages YAML (key: value) deviennent des objets JSON ({"key": "value"}) ; les séquences YAML (- item) deviennent des tableaux JSON (["item"]) ; les structures YAML imbriquées deviennent des objets et tableaux JSON imbriqués correspondants ; les types string/nombre/bool/null de YAML conservent leurs types correspondants en JSON. Les commentaire YAML (#) sont automatiquement ignorés car la norme JSON ne prend pas en charge les commentaire.
Le mode de sortie pretty (indentation de 2 espaces par défaut) génère du JSON très lisible pour l'examen humain, la copie et la comparaison de versions ; le mode non-pretty génère du JSON compact sur une seule ligne adapté à la transmission réseau, aux réponses API et au stockage en base de données. Basculez entre les modes via la case à cocher 'Formater la sortie' dans la barre d'outils inférieure.
L'auto-réparation des erreurs (tryFixYAML) est la conception pratique de l'outil. Les fichiers YAML du monde réel ont souvent 5 catégories de problèmes : 1) mélange de tabulations et d'espaces (YAML nécessite des espaces cohérents) ; 2) espaces de fin de ligne ; 3) guillemets non fermés (nombre impair de guillemets simples ou doubles) ; 4) indentation non multiple de 2 (YAML nécessite une indentation incrémentielle cohérente) ; 5) clés avec traits d'union ou espaces nécessitant des guillemets. L'outil détecte et corrige automatiquement ces problèmes, et indique à l'utilisateur ce qui a été corrigé.
Les ancres et alias YAML sont des caractéristiques YAML avancées. &anchor définit une étiquette qui peut être référencée ; *alias référence l'étiquette ailleurs. js-yaml analyse d'abord en un objet JavaScript (avec les références remplacées par le contenu réel), donc le JSON final généré ne contient pas d'informations sur les ancres, et le même contenu d'objet apparaît plusieurs fois dans le JSON. Cela correspond au modèle de données JSON (JSON est un langage de type valeur sans concept de référence), mais signifie que les développeurs auront un stockage redondant du contenu répété.
YAML 1.1 vs 1.2 différences. YAML 1.1 est la version largement déployée (js-yaml par défaut), y compris les nombres octaux (0123), les caractères uniques de genre (yes/no/true/false), l'abréviation de Norvège (foo: !!str bar), etc. YAML 1.2 est la dernière version stable, supprimant ces caractéristiques ambiguës, plus cohérente avec la spécification JSON. L'outil utilise YAML 1.1 par défaut pour une compatibilité maximale ; pour le mode strict YAML 1.2, utilisez schema : CORE_SCHEMA.
La conversion en temps réel est une fonction pratique. Après l'arrêt de la saisie, l'outil convertit avec un debounce de 400ms ; les développeurs peuvent rapidement itérer, modifier et voir les effets. Combiné aux raccourcis et au bouton d'exemple, les développeurs peuvent rapidement terminer le flux de travail complet de la configuration YAML à la conversion JSON.
Le traitement purement côté client est l'architecture centrale de l'outil. Toute l'analyse YAML, la sérialisation JSON et la réparation des erreurs s'exécutent en JavaScript du navigateur ; js-yaml est la seule dépendance externe (~50 Ko) chargée via npm. Les données YAML d'origine (qui peuvent contenir des configurations sensibles comme les secrets k8s, les clés API, les identifiants de base de données) ne sont jamais envoyées à un serveur, les configurations sensibles peuvent donc être traitées en toute sécurité localement.
Cas d'utilisation
- Convertissez les manifestes Kubernetes, valeurs.yaml des charts Helm et autres fichiers de configuration K8s en JSON pour les utiliser avec kubectl apply --validate ou les requêtes jq, fusions et injections dans les pipelines CI/CD.
- Convertissez les fichiers Docker Compose (docker-compose.yml) en JSON pour les déployer sur des clusters Swarm avec docker stack deploy, ou les importer dans d'autres outils d'orchestration de conteneurs.
- Convertissez les pipelines CI/CD de GitHub Actions, GitLab CI, CircleCI (.github/workflows/*.yml) en JSON pour faciliter la comparaison de versions et le traitement de modèles.
- Convertissez les playbooks Ansible (playbook.yml, hosts, roles) en JSON pour un traitement programmatique avec des chargeurs de configuration Python ou Node.js.
- Convertissez les règles d'alerte Prometheus, la configuration d'Alertmanager, la configuration Promtail/Grafana Loki en JSON pour la génération et les tests dynamiques.
- Convertissez les fichiers de configuration des outils frontend (ESLint, Prettier, Stylelint, Commitlint, .eslintrc, .prettierrc) en JSON pour les plugins IDE et les éditeurs.
- Convertissez les fichiers YAML de spécification swagger/openapi en JSON, avec swagger-codegen ou openapi-generator pour générer des SDK client ou du code de stub serveur.
- Enseignez la relation de conversion entre YAML et JSON, en comparant les différences de syntaxe, les règles d'indentation, la gestion des commentaires et le mappage des types.
Comment utiliser
- Collez votre YAML dans l'éditeur de gauche, cliquez sur Télécharger pour sélectionner un fichier .yaml/.yml/.txt, ou cliquez sur Échantillon pour charger l'exemple de configuration utilisateur intégré.
- L'outil convertit automatiquement 400ms après l'arrêt de la saisie. Visualisez le JSON converti à droite avec la coloration syntaxique CodeMirror.
- Cliquez sur la case à cocher 'Formater la sortie' dans la barre d'outils inférieure pour basculer entre les modes de sortie pretty (indentation de 2 espaces) et compact en temps réel.
- Si YAML a des erreurs de syntaxe, cliquez sur le bouton Réparer la structure à côté du message d'erreur. L'outil appelle tryFixYAML pour corriger automatiquement 5 erreurs courantes et indique quelles lignes ont été corrigées.
- Cliquez sur Copier pour mettre le JSON dans le presse-papiers, ou cliquez sur Télécharger pour l'enregistrer en tant que fichier converted.json (MIME : application/json).
- Collez le JSON dans votre code cible (kubectl apply, swagger-codegen, chargeur de configuration Node.js personnalisé, etc.) ou importez-le dans votre service backend pour un traitement ultérieur.
Fonctionnalités
- Analyse de la bibliothèque js-yaml : basée sur la mature bibliothèque js-yaml qui prend en charge toute la syntaxe YAML 1.1 standard (scalaires, séquences, mappages, ancres, alias, chaînes multilignes, etc.), sans dépendances.
- Réparation intelligente des erreurs : tryFixYAML intégré corrige automatiquement 5 erreurs YAML courantes (tabulations, guillemets non fermés, indentation irrégulière, clés avec caractères spéciaux, espaces de fin).
- Mode de sortie pretty : indentation de 2 espaces par défaut pour une sortie lisible ; le mode non-pretty génère du JSON compact sur une seule ligne pour la transmission réseau.
- Prise en charge complète des types : prend en charge tous les types scalaires YAML (string, number, boolean, null, date), séquences (tableau), mappages (objet) dans les deux sens.
- Structures imbriquées récursives : les mappages et séquences YAML imbriqués de n'importe quelle profondeur sont convertis récursivement en objets et tableaux JSON imbriqués correspondants.
- Résolution des ancres et alias : prend en charge les ancres YAML (&anchor) et les alias (*alias), js-yaml résout automatiquement les relations de référence, le JSON affiche le contenu développé.
- Commentaire YAML ignoré : les commentaire YAML (#) sont automatiquement ignorés, le JSON converti est constitué de données pures, sans commentaire.
- Conversion automatique en temps réel : conversion 400ms après l'arrêt de la saisie, combinée à des raccourcis clavier pour plus d'efficacité.
- Coloration syntaxique JSON : le côté droit utilise la coloration syntaxique JSON de CodeMirror pour faciliter la lecture de structures JSON complexes.
- 100% dans le navigateur : toute l'analyse YAML, la sérialisation JSON et la réparation des erreurs se font en JavaScript côté client ; la configuration d'origine n'est pas chargée.
- Récupération de l'historique : sauvegarde automatiquement les 200 derniers éléments d'historique et restaure l'entrée précédente au chargement de la page.
- Système complet de raccourcis : convertir, télécharger, copier, enregistrer, effacer les opérations courantes, suivant les conventions des principaux éditeurs JSON/YAML.
FAQ
Comment convertir YAML en format JSON ?
Collez votre YAML dans l'éditeur de gauche et l'outil utilise la bibliothèque js-yaml pour analyser la structure YAML (mappings, séquences, commentaires, etc.) et la convertir en objet JSON standard. Mappage : les mappings YAML deviennent des objets JSON ({key: value}), les séquences YAML deviennent des tableaux JSON ([item1, item2]), et les chaînes/nombres/booleens YAML correspondent directement aux types JSON. La conversion s'exécute automatiquement 400ms après l'arrêt de la saisie.
Les commentaires YAML (#) sont-ils préservés dans le JSON ?
Non. Les commentaire YAML (lignes commençant par #) sont uniquement destinés à la lisibilité du développeur ; js-yaml les ignore automatiquement lors de l'analyse. Le JSON converti est constitué de données pures sans commentaire. Pour préserver la documentation, conservez le fichier YAML original comme source de commentaire, ou utilisez un champ 'comment' en JSON pour stocker explicitement la documentation.
Quels types de données YAML sont pris en charge ?
Tous les types standard de YAML 1.2 : scalaires (string, number, boolean, null), séquences (listes/tableaux), mappages (objets/dictionnaires), structures imbriquées, chaînes multilignes (| ou >), ancres et alias (& et *), séparateurs de document (---). Les formats spéciaux comme les dates et les horodatages ISO 8601 sont automatiquement analysés en tant qu'objets Date JavaScript (puis sérialisés en chaînes dans JSON).
Qu'est-ce que le mode de sortie pretty ?
L'outil prend en charge deux modes de sortie : pretty (par défaut) génère du JSON avec une indentation de 2 espaces et des sauts de ligne pour une lisibilité élevée et une édition manuelle facile ; non-pretty génère du JSON compact sur une seule ligne, adapté à la transmission réseau, aux réponses API et au stockage en base de données. Basculez via la case à cocher 'Formater la sortie' dans la barre d'outils inférieure.
L'outil peut-il gérer du YAML au format incorrect (indentation incorrecte) ?
Oui. La fonction de réparation tryFixYAML intégrée corrige automatiquement 5 erreurs courantes : 1) tabulations converties en indentation de 2 espaces ; 2) espaces de fin de ligne supprimés ; 3) guillemets simples/doubles non fermés fermés ; 4) indentation non multiple de 2 corrigée ; 5) clés avec traits d'union ou espaces automatiquement mises entre guillemets. Cela améliore considérablement la compatibilité avec le YAML imparfait du monde réel.
Quels types de fichiers d'entrée sont pris en charge ?
Prise en charge des fichiers .yaml, .yml et .txt (encodage UTF-8). Cliquez sur le bouton Télécharger pour sélectionner un fichier local ; l'outil le lit via l'API FileReader native du navigateur sans le télécharger sur un serveur. Après le téléchargement, le contenu est automatiquement rempli dans la zone de saisie et déclenche la conversion. La validation du type de fichier se fait côté client.
Avec quoi puis-je ouvrir le fichier JSON téléchargé ?
Le fichier converted.json téléchargé est un fichier JSON standard encodé en UTF-8 (MIME : application/json). Vous pouvez l'ouvrir avec n'importe quel éditeur de texte (VS Code, Sublime, Notepad++) ou outil JSON spécialisé (jq, JSDoc), ou le faire glisser dans un navigateur pour voir la structure formatée. Presque tous les langages de programmation ont des analyseurs JSON intégrés.
Les chaînes multilignes YAML sont-elles prises en charge ?
Oui. YAML propose deux syntaxes de chaînes multilignes : le bloc littéral (|) préserve les sauts de ligne ; le bloc plié (>) replie les sauts de ligne en espaces simples. js-yaml analyse les deux correctement. Les chaînes multilignes apparaissent dans JSON comme des chaînes avec les sauts de ligne ou espaces simples appropriés.
Comment les ancres et alias YAML sont-ils convertis ?
YAML prend en charge les ancres (&anchor) et les alias (*alias) pour référencer du contenu répété. js-yaml analyse d'abord en un objet JavaScript, où les ancres et alias sont résolus en interne (chaque référence d'alias est remplacée par le contenu réel de l'ancre). Ainsi, le JSON final généré ne contient pas d'informations sur les ancres, et le même contenu d'objet apparaîtra plusieurs fois dans le JSON (sans partager de références). Cela correspond au modèle de données JSON (pas de concept de référence).
Comment les dates et heures YAML sont-elles gérées ?
js-yaml suit la spécification YAML 1.1/1.2 : les dates/horodatages au format ISO 8601 (tels que 2026-01-15T10:30:00Z) sont automatiquement analysés en tant qu'objets Date JavaScript. Lors de la conversion en JSON, les objets Date sont sérialisés en tant que chaînes ISO 8601 via JSON.stringify. Notez que le type est perdu (JSON n'a pas de type Date natif) ; vous pouvez avoir besoin d'annotations de type dans la couche application.
Quelles versions de YAML sont prises en charge ?
L'outil prend en charge YAML 1.1 (par défaut) et YAML 1.2 (via les options de schéma) via js-yaml. YAML 1.2 est la dernière version stable, supprimant une partie de la syntaxe ambiguë de 1.1 (comme les nombres octaux, les valeurs de genre à un seul caractère), et est recommandée. L'outil utilise YAML 1.1 par défaut pour une compatibilité maximale. Pour activer le mode strict YAML 1.2, utilisez schema : CORE_SCHEMA ou JSON_SCHEMA.
Quelle taille de fichier d'entrée est prise en charge ?
Il n'y a pas de limite stricte ; la limite pratique est la mémoire du navigateur. YAML jusqu'à 1-2 Mo fonctionne sans problème ; les fichiers plus volumineux peuvent ralentir en raison de l'empreinte mémoire de js-yaml. Pour traiter de grands manifestes Kubernetes ou fichiers Docker Compose, envisagez de les réduire ou de les diviser dans un éditeur YAML local. Toute l'analyse se fait localement dans le navigateur, les configurations sensibles (comme les secrets k8s) ne sont donc pas envoyées à un serveur.
Dépannage
Erreur d'analyse YAML 'unexpected token', que faire ?
La cause est généralement des erreurs d'indentation (mélange de tabulations et d'espaces, niveaux incohérents), des guillemets non fermés, des paires clé-valeur sans deux-points, ou des traits d'union de liste mal positionnés. Cliquez sur le bouton Réparer la structure à côté du message d'erreur ; l'outil appelle tryFixYAML pour corriger automatiquement 5 erreurs courantes et indique quelles lignes ont été corrigées. S'il ne peut toujours pas analyser, vérifiez que le YAML n'utilise pas de syntaxe non standard (comme l'indentation par tabulations).
La référence d'ancre YAML (*alias) est-elle perdue après la conversion ?
C'est le comportement normal. js-yaml étend automatiquement les références lors de l'analyse interne, donc le JSON final ne conserve pas d'informations sur les ancres, et le même contenu d'objet apparaît plusieurs fois dans le JSON (sans partager de références). Pour préserver les relations de référence, utilisez des champs $ref dans le JSON analysé (spécification JSON Reference) ou maintenez des cartes de référence dans la couche application.
Les valeurs booléennes sont-elles devenues des chaînes ?
Dans YAML 1.1, yes/no/on/off/true/false sont tous analysés comme des booléens (YAML 1.2 a supprimé yes/no). Si votre fichier YAML 1.2 utilise yes/no mais est analysé comme une chaîne, changez-les en true/false, ou ajoutez des guillemets 'yes' avant l'analyse pour forcer le type chaîne.
Pourquoi les dates sont-elles devenues des chaînes ISO ?
Les dates ISO 8601 dans YAML (comme 2026-01-15, 2026-01-15T10:30:00Z) sont automatiquement analysées en tant qu'objets Date JavaScript par js-yaml. JSON.stringify sérialise les objets Date en utilisant toISOString() pour générer des chaînes ISO. Si vous devez préserver un format personnalisé (comme YYYY-MM-DD HH:mm:ss), vous pouvez utiliser date-fns, moment.js ou des bibliothèques similaires pour reformater après l'analyse.
Comment préserver les commentaire YAML ?
L'outil ne préserve pas les commentaire actuellement, car la norme JSON ne prend pas en charge les commentaire. Approches suggérées : 1) Maintenez les commentaire dans le fichier YAML d'origine (les commentaire sont pour la communication du développeur) ; 2) Utilisez un champ 'comment' en JSON pour stocker explicitement la documentation ; 3) Utilisez des outils de documentation dédiés (comme la spécification openapi de Swagger) pour préserver la documentation de l'API.
Comment les fichiers YAML multi-documents (séparés par ---) sont-ils gérés ?
Seul le premier document YAML est analysé par défaut. js-yaml prend en charge la méthode loadAll() pour l'analyse multi-documents, mais l'outil ne prend actuellement en charge que les documents uniques. Pour gérer le YAML multi-documents, divisez-les en plusieurs fichiers à l'aide d'un éditeur de texte, ou utilisez l'API loadAll() de js-yaml pour une implémentation personnalisée.
Avec quoi puis-je ouvrir le fichier .json téléchargé ?
Le fichier converted.json téléchargé est un fichier JSON standard encodé en UTF-8 (MIME : application/json). Vous pouvez l'ouvrir avec n'importe quel éditeur de texte (VS Code, Sublime, Notepad++) ou outil JSON spécialisé (jq, JSDoc), ou le faire glisser dans un navigateur pour voir la structure formatée. Presque tous les langages de programmation ont des analyseurs JSON intégrés.
Glossaire
- YAML (YAML Ain't Markup Language)
- Format de sérialisation de données convivial conçu en 2001 par Clark Evans et autres. Utilise l'indentation pour la hiérarchie, prend en charge les commentaire, listes, mappages, chaînes multilignes, ancres et alias. C'est le standard de configuration de facto pour Kubernetes, Docker Compose, Ansible, GitHub Actions et autres outils DevOps modernes.
- JSON (JavaScript Object Notation)
- Format léger d'échange de données basé sur la syntaxe d'objets JavaScript, mais indépendant de tout langage de programmation. Prend en charge six types de base : objet ({}), tableau ([]), chaîne, nombre, booléen et nul. C'est le standard de facto pour les API web modernes, les bases de données NoSQL et l'écosystème JavaScript.
- js-yaml
- Analyseur et sérialiseur YAML JavaScript mature (~50 Ko) prenant en charge la spécification YAML 1.1 complète et des parties de la 1.2. L'outil utilise cette bibliothèque pour analyser YAML en objets JavaScript, puis sérialise en JSON via JSON.stringify.
- Indentation
- YAML utilise strictement l'indentation pour exprimer la hiérarchie. Doit utiliser des espaces (pas de tabulations) et l'indentation doit être cohérente (comme 2 espaces). C'est l'une des sources d'erreurs YAML les plus courantes. L'outil détecte et corrige automatiquement les problèmes d'indentation.
- Ancres et alias (& *)
- Caractéristiques YAML avancées. &anchor définit une étiquette qui peut être référencée ; *alias référence l'étiquette. js-yaml étend automatiquement les références lors de l'analyse interne, donc le JSON final ne conserve pas ces étiquettes, seulement les données étendues.
- Chaînes multilignes
- YAML propose deux syntaxes de chaînes multilignes. Le bloc littéral (|) préserve les sauts de ligne ; le bloc plié (>) replie les sauts de ligne en espaces simples. js-yaml analyse correctement les deux syntaxes et convertit en JSON en préservant ou repliant les sauts de ligne selon la spécification.
- Séparateur de document (---)
- Trois traits d'union consécutifs (---) dans YAML dénotent des séparateurs de document, souvent utilisés pour inclure plusieurs documents YAML dans un fichier. js-yaml par défaut n'analyse que le premier document ; l'analyse multi-documents nécessite une gestion spéciale.
- YAML 1.1 vs 1.2
- YAML 1.1 (2005) est largement déployé, prenant en charge l'octal, le caractère unique de genre, l'abréviation de Norvège, etc. YAML 1.2 (2009) a supprimé les caractéristiques ambiguës, plus compatible avec JSON. L'outil utilise YAML 1.1 par défaut pour une compatibilité maximale.
- Ancre (&)
- Dans YAML, &name définit une étiquette qui peut être référencée par *name plus tard, souvent utilisée pour éviter de répéter le même bloc de configuration dans plusieurs documents.
- Alias (*)
- Dans YAML, *name référence une étiquette précédemment définie avec &name ; js-yaml remplace la référence par le contenu réel lors de l'analyse, donc le JSON final ne contient pas d'information d'alias.
- JSON.stringify
- Méthode intégrée JavaScript pour sérialiser un objet en une chaîne JSON. L'outil utilise le deuxième paramètre (replacer) et le troisième paramètre (space) pour contrôler l'indentation : space=2 génère une sortie pretty, space=undefined génère une seule ligne compacte.
- tryFixYAML
- Fonction de réparation YAML intégrée de l'outil qui détecte et corrige automatiquement 5 erreurs courantes : tabulations en espaces, suppression des espaces de fin, fermeture des guillemets non fermés, correction de l'indentation non multiple de 2, et ajout de guillemets aux clés avec caractères spéciaux. Gère le YAML non standard dans les projets réels.
- Sortie pretty
- Mode de sortie commutable de l'outil. Lorsqu'il est activé, génère du JSON avec une indentation de 2 espaces et des sauts de ligne (bon pour l'examen humain) ; lorsqu'il est désactivé, génère du JSON compact sur une seule ligne (bon pour la transmission d'API, le stockage).
Règles de mappage des types YAML vers JSON
Règles de conversion de l'outil basées sur js-yaml :
| Type YAML | Exemple YAML | Sortie JSON | Règle |
|---|---|---|---|
string | name: Alice | "name": "Alice" | Les chaînes YAML deviennent des chaînes JSON (avec guillemets) |
number | age: 30 | "age": 30 | Les nombres YAML restent des nombres JSON (sans guillemets) |
boolean | isActive: true | "isActive": true | Les booléens YAML restent des booléens JSON |
null | value: null / value: | "value": null | YAML null ou vide devient JSON null |
sequence | - a\n- b\n- c | ["a", "b", "c"] | Les listes YAML (-) deviennent des tableaux JSON |
mapping | name: Alice\nage: 30 | {"name": "Alice", "age": 30} | Les mappages YAML (key: value) deviennent des objets JSON |
nested mapping | user:\n name: Alice\n age: 30 | {"user": {"name": "Alice", "age": 30}} | L'indentation imbriquée YAML devient des objets JSON imbriqués |
list of objects | - name: a\n- name: b | [{"name": "a"}, {"name": "b"}] | Les éléments de liste YAML qui sont des objets deviennent des tableaux d'objets JSON |
date | createdAt: 2026-01-15 | "createdAt": "2026-01-15T00:00:00.000Z" | Les dates ISO 8601 deviennent des objets Date puis sont sérialisées en chaîne ISO |
Comparaison de format YAML vs JSON
Une comparaison des deux formats selon différentes dimensions, aidant à comprendre quand choisir YAML ou JSON :
| Dimension | YAML | JSON | Notes |
|---|---|---|---|
| Syntaxe | indentation + : - concis | { } : [ ] strict | YAML concis mais sujet aux erreurs (indentation sensible), JSON strict mais verbeux |
| Commentaires | # commentaires | non pris en charge | YAML prend en charge les commentaire, JSON standard non |
| Types de données | scalaires, séquences, mappages | chaîne, nombre, booléen, nul, objet, tableau | YAML plus riche (inclut date, binaire, etc.), JSON plus simple |
| Tableaux | - item1\n- item2 | ["item1", "item2"] | YAML utilise des traits d'union, JSON utilise des crochets |
| Lisibilité | élevée (pas de guillemets ni crochets) | moyenne (bruit de crochets) | YAML plus convivial pour les humains |
| Chaînes multilignes | syntaxe de bloc | ou > | nécessite un échappement \n | YAML prend en charge nativement, JSON nécessite un échappement |
| Références | &anchor *alias | non pris en charge (doit répéter) | YAML prend en charge ancre-alias, JSON doit répéter |
| Cas d'utilisation | fichiers de configuration, CI/CD, k8s | réponse API, stockage, Web | YAML s'adapte à la configuration, JSON s'adapte à l'API |
Erreurs et corrections courantes de YAML
Les 5 erreurs courantes de YAML que tryFixYAML de l'outil détecte et corrige automatiquement :
| Type d'erreur | Exemple d'erreur | Correction automatique | Notes |
|---|---|---|---|
| Indentation par tabulations | key:\n\tvalue | key:\n value | |
| Espaces de fin | key: value | key: value | |
| Guillemets non fermés | key: 'value | key: 'value' | |
| Indentation irrégulière | key:\n value | key:\n value | |
| Clé avec caractères spéciaux | my-key: value | "my-key": value |
Privacy & Security
Cet outil de conversion YAML vers JSON s'exécute entièrement dans votre navigateur. L'analyse YAML (basée sur la bibliothèque mature js-yaml), la sérialisation JSON et la réparation des erreurs (tryFixYAML) s'exécutent en JavaScript côté client ; js-yaml est la seule dépendance externe (un paquet npm de moins de 50 Ko). Les données YAML d'origine (qui peuvent contenir des configurations sensibles comme les secrets k8s, les clés API, les identifiants de base de données) ne sont jamais envoyées à un serveur. Les téléchargements de fichiers utilisent l'API FileReader native du navigateur et ne passent jamais par un service intermédiaire. L'outil n'utilise pas de cookies de suivi et ne collecte aucune donnée d'entrée ou d'utilisation. Toutes les entrées et sorties sont effacées de la mémoire dès que la page est fermée ou rechargée. Sûr à utiliser pour les fichiers YAML contenant des configurations sensibles (secrets k8s, clés API, identifiants de base de données, pipelines DevOps d'entreprise).
Authoritative References
- YAML.orgSpécification YAML 1.2
- GitHubDépôt GitHub de js-yaml
- KubernetesRéférence YAML de Kubernetes
- DockerSpécification Docker Compose
- AnsibleGuide YAML d'Ansible
- GitHubDocumentation YAML de GitHub Actions
- Compression JSON
- CSV vers JSON
- JSON vers CSV
- JSON Diff
- JSON Escape / Unescape
- JSON Flatten
- Formatage JSON
- Générateur JSON
- Requête JSONPath
- Fusionner JSON
- Réparer JSON
- Validateur JSON Schema
- Trier JSON
- JSON Stringify
- JSON vers HTML
- JSON vers Java
- JSON to Markdown
- JSON en SQL
- JSON vers TOML
- JSON vers TypeScript
- XML vers JSON
- JSON vers XML
- YAML vers JSON
- JSON vers YAML
- JSON vers Python
- JSON vers Go
- JSON vers Rust
- JSON vers Swift
- JSON vers C#
- JSON vers C++
- JSON vers PHP