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
- Choisissez le sens avec les boutons « YAML → JSON » ou « JSON → YAML ». Chacun affiche un exemple tant que vous n’avez pas saisi votre texte.
- 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.
- 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.
- Cliquez sur « Copier » ou « Télécharger ». Le fichier s’appelle
converted.jsonouconverted.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.