Mode d'emploi
- Collez votre YAML dans Texte YAML.
- Lisez Validité. S'il indique une ligne et une colonne, corrigez le YAML à cet endroit.
- Si le YAML contient plusieurs documents, le Texte JSON est un tableau avec un élément pour chaque document.
- Copiez le Texte JSON, ou téléchargez-le sous le nom data.json.
Comment le YAML est lu
Le YAML 1.2 est défini par sa spécification, qui dit comment lire l'indentation, les noms, les listes, le texte entre guillemets et les blocs. Cet outil lit le texte avec la bibliothèque yaml, qui suit cette spécification, puis écrit le résultat en JSON.
- Un mappage devient un objet JSON, avec ses noms dans l'ordre où ils sont écrits. Une séquence devient un tableau. Les mots true, false et null deviennent des booléens et null, tandis que le texte entre guillemets reste du texte.
- Un nombre entier garde chaque chiffre. Un nom répété dans un même mappage est signalé comme erreur, car le JSON ne garderait qu'une de ses valeurs.
- Une valeur comme .inf ou .nan n'a pas de forme JSON : elle est donc refusée plutôt qu'écrite comme null ou comme un nombre modifié.
Plusieurs documents et alias
Un fichier YAML peut contenir plusieurs documents, chacun commençant par une ligne ---. Le convertisseur les lit tous. Un document donne une valeur JSON ; plusieurs donnent un tableau JSON avec un élément par document, dans l'ordre où ils apparaissent. Un alias (*nom) est remplacé par la valeur vers laquelle il pointe. Un fichier qui répète un alias si souvent que le résultat exploserait en taille est refusé.
Exemple détaillé : un fichier à deux documents
L'exemple 2.7 de la spécification YAML 1.2, Two Documents in a Stream, présente une liste de frappeurs de coups de circuit, puis une ligne ---, puis une liste d'équipes. Converti, le résultat est un tableau JSON de deux tableaux, un pour chaque document.
Le premier tableau contient les trois joueurs, et le second les deux équipes, dans l'ordre où ils sont écrits.
| Document | Élément JSON |
|---|---|
| 1 | ["Mark McGwire", "Sammy Sosa", "Ken Griffey"] |
| 2 | ["Chicago Cubs", "St Louis Cardinals"] |
Questions fréquentes
Pourquoi l'erreur indique-t-elle une ligne et une colonne ?
La position est l'endroit où l'analyseur a remarqué le problème, compté à partir de 1. L'erreur réelle peut se trouver un peu plus tôt, par exemple une indentation fausse sur la ligne précédant celle qui est nommée.
Que signifie la note sur plusieurs documents ?
Chaque ligne qui commence par --- ouvre un nouveau document. Le JSON est alors un tableau avec un élément pour chaque document, dans l'ordre. Si vous vouliez un seul document, supprimez la ligne --- en trop.
Pourquoi .inf ou .nan donne-t-il une erreur ?
Le JSON n'a ni infini ni valeur non numérique, si bien qu'une telle valeur ne peut pas être écrite sans être modifiée. Remplacez-la par un nombre ou par un texte, puis convertissez à nouveau le YAML.
Les nombres sont-ils modifiés par la conversion ?
Les nombres entiers gardent chaque chiffre, donc 12345678901234567890 est écrit exactement. Un nombre décimal est écrit comme le nombre JavaScript le plus proche, si bien que 1.50 devient 1.5 de même valeur.
Le JSON garde-t-il l'ordre des noms ?
Oui. Les noms apparaissent dans l'ordre où ils sont écrits dans le YAML. Un objet JavaScript placerait un nom comme 2024 en tête, ce que ce convertisseur ne fait pas.
Mon YAML est-il envoyé quelque part ?
Non. La conversion se fait dans votre navigateur, et rien de ce que vous collez n'est envoyé à notre serveur.
Sources
- YAML (en anglais) : Ain't Markup Language (YAML) revision 1.2.2
- IETF (en anglais) : RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format
- yaml (en anglais) : the JavaScript YAML library used by this tool
Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.