Aperçu / Développement et code / Convertisseur YAML ↔ JSON
Développement et code 100 % dans le navigateur et hors ligne

Convertisseur YAML ↔ JSON

Convertissez du YAML en JSON et du JSON en YAML dans le navigateur. Documents multiples, ancres et alias sont résolus, les erreurs indiquent ligne et colonne.

Collez ou saisissez votre entrée ; le résultat s’affiche aussitôt et les erreurs apparaissent dessous.

Vos fichiers et données ne quittent jamais votre navigateur : rien n’est envoyé.

Options

Lit du YAML 1.2. yes, no, on et off restent des chaînes, les dates restent des chaînes et les nombres octaux demandent 0o. Les commentaires sont perdus. Les documents séparés par --- deviennent un tableau JSON. Les entiers au-delà de 2^53 perdent en précision, .nan et .inf deviennent null. Entrée maximale : 2 000 000 de caractères.

Convertir du YAML en JSON : ce que fait l’outil

Vous avez un fichier docker-compose.yml et un script qui n’accepte que du JSON. Collez le YAML à gauche, lisez le JSON à droite. La même page fait le chemin inverse, du JSON vers le YAML, quand une réponse d’API doit devenir un fichier de configuration lisible.

La lecture suit YAML 1.2. Dans cette version, yes, no, on et off sont des chaînes ordinaires, pas des booléens, et une date comme 2001-12-14 reste une chaîne. Un nombre octal demande le préfixe 0o : 0o17 vaut 15, 017 vaut 17.

Les ancres (&nom), les alias (*nom) et les clés de fusion (<<: *nom) sont résolus, donc le JSON contient les valeurs copiées. Le JSON n’a pas de commentaires : ils disparaissent.

Plusieurs documents séparés par --- donnent un tableau JSON, une entrée par document. La ligne de statistiques indique leur nombre, par exemple « 3 documents ». Avec un seul document, vous obtenez un objet ou une liste simple. Les documents vides en fin de fichier sont ignorés.

Étapes de la conversion

  1. Choisissez le sens avec les boutons « YAML → JSON » ou « JSON → YAML ». Chacun affiche un exemple tant que vous n’avez pas saisi votre texte.
  2. Collez votre texte. La conversion démarre 300 millisecondes après la dernière frappe. La première fois, la bibliothèque YAML se charge, ce qui prend un instant.
  3. Réglez les options : indentation du JSON à 2 espaces, 4 espaces ou minifié, et « Trier les clés par ordre alphabétique ». Pour la sortie YAML, choisissez aussi l’indentation et le retour à la ligne à 80 caractères ou non.
  4. Cliquez sur « Copier » ou « Télécharger ». Le fichier s’appelle converted.json ou converted.yaml.

Des chaînes qui ressemblent à des nombres, des booléens ou null

Du JSON vers le YAML, la chaîne "123" ne doit pas devenir le nombre 123 : l’outil l’écrit entre guillemets, comme "null", "true", "~" et la chaîne vide. Il met aussi des guillemets à "yes", "no", "on", "off" et à tout ce qui commence comme une date, car des analyseurs YAML 1.1 les lisent comme booléens ou horodatages. Les chaînes avec saut de ligne deviennent des blocs avec |.

Erreurs, remarques et valeurs que JSON ne connaît pas

Un YAML cassé affiche le message de la bibliothèque avec la ligne et la colonne, par exemple pour une tabulation utilisée comme indentation. Deux clés identiques dans une table sont une erreur, pas un écrasement silencieux. Un alias sans ancre au-dessus aussi. Une étiquette inconnue comme !custom ne donne qu’une remarque, la valeur reste du texte.

YAML accepte .nan, .inf et -.inf, JSON non. L’outil écrit null et indique combien de valeurs il a remplacées. Les entiers au-delà de 2^53 sont arrondis au nombre le plus proche que JavaScript sait stocker, avec une remarque. Si un texte JSON répète une clé, la dernière valeur l’emporte. Une entrée de plus de 2 000 000 de caractères est refusée avec un message.

Ce qui reste sur votre machine

Rien n’est envoyé. La bibliothèque YAML est un script de ce site que votre navigateur charge une fois, à la première conversion. Ensuite tout s’exécute dans l’onglet. « Copier » utilise le presse-papiers, « Télécharger » enregistre un fichier depuis le navigateur. Dans le panneau réseau, aucune requête ne contient votre texte.

Foire aux questions (FAQ)

L’outil lit du YAML 1.2, où seuls true et false sont des booléens. Les analyseurs YAML 1.1 lisent yes, no, on et off comme des booléens, donc d’anciens programmes peuvent donner un autre résultat.