Convertir YAML en JSON — Convertisseur en ligne
Convertir du YAML en JSON (schéma sûr, ancres et clés de fusion, ligne d’erreur)
Traitement dans le navigateur · aucun envoi de fichier
Présentation
La configuration est souvent écrite en YAML, alors que les programmes échangent leurs données en JSON. Cet outil convertit du YAML en JSON. Le résultat se met à jour pendant la saisie, et les erreurs de syntaxe sont signalées par ligne et colonne.
Mode d’emploi
- Collez votre YAML dans le champ de saisie.
- Choisissez 2 espaces, 4 espaces, tabulation ou Minifier pour la sortie JSON.
- Copiez le résultat.
- Si une erreur indique une ligne et une colonne, vérifiez autour de cet endroit l’indentation, les guillemets et l’espace après les deux-points.
Fonctionnement
- L’analyse utilise js-yaml avec le schéma core de YAML 1.2. Seuls
true/false,null(ou~), les entiers décimaux, octaux et hexadécimaux et les nombres à virgule flottante sont lus comme booléens, null et nombres. Tout le reste est une chaîne, et"123"entre guillemets est toujours une chaîne. - Les balises personnalisées et les balises de code comme
!!js/functionne sont pas prises en charge et produisent une erreur. Rien n’est jamais exécuté comme du code. - Les ancres (
&) et les alias (*) sont développés en valeurs, et la clé de fusion<<est résolue. Une clé répétée dans un même mapping est une erreur. - Les positions d’erreur sont des lignes et colonnes numérotées à partir de 1.
- Plusieurs documents sont regroupés dans un tableau. Une saisie vide est une erreur.
- Les valeurs que le JSON ne sait pas représenter sont converties selon les règles du JSON :
.infet.nandeviennentnull. Les entiers au-delà de 2^53 sont arrondis lorsqu’ils sont lus comme nombres JavaScript.
Exemples
Saisie :
base: &b
x: 1
item:
<<: *b
name: Élodie
Résultat :
{"base": {"x": 1}, "item": {"x": 1, "name": "Élodie"}}
Questions fréquentes
Une balise comme !!js/function est-elle exécutée ?
Non. L’outil utilise un schéma sûr qui ne lit que des données simples (chaînes, nombres, booléens, null, tableaux et objets). Les balises personnalisées et les fonctions ne sont jamais exécutées et sont signalées comme des erreurs.
Où voir ce qui ne va pas dans mon YAML ?
En cas d’échec, l’outil affiche la ligne et la colonne où le problème a été détecté, avec l’explication de l’analyseur. Une mauvaise indentation et des guillemets ou crochets non refermés en sont les causes typiques, et l’endroit détecté peut se situer juste après la vraie cause ; regardez donc aussi les lignes au-dessus.
Est-ce que yes, no, on et off deviennent des booléens ?
Non. Conformément à YAML 1.2, seuls true et false sont des booléens ; yes, no, on et off restent des chaînes. Une valeur qui ressemble à une date, comme 2024-01-02, reste aussi une simple chaîne au lieu de devenir un objet date.
Pourquoi ai-je une erreur « trop d’alias » ?
Par sécurité, un document peut contenir au maximum 100 alias. Une saisie qui imbrique des alias pour faire gonfler la sortie de façon exponentielle (une bombe d’alias) peut figer un onglet du navigateur ; l’outil limite donc à la fois le nombre d’alias et la taille du résultat (environ 5 Mo). Les fichiers de configuration ordinaires restent très loin de ces limites.
Que se passe-t-il si la saisie contient plusieurs documents séparés par --- ?
Un seul document donne sa valeur. Deux documents ou plus donnent un tableau JSON des documents dans l’ordre, et une note indique combien ont été trouvés.