Aller au contenu principal
PulsarKit

Convertir YAML en JSON et inversement

Un seul outil pour les deux sens : la direction est déduite du fichier, le YAML multi-document est pris en charge et chaque erreur indique sa ligne.

Déposez vos fichiers ici

.yaml, .yml, .json, .txt · jusqu’à 300 Mo

Direction
Plus de réglages

Comment convertir du YAML en JSON et inversement

  1. 1

    Déposez un fichier YAML ou JSON

    Ajoutez un fichier ou jusqu’à vingt. Les extensions .yaml, .yml et .json sont toutes reconnues, et un lot peut les mélanger librement.

  2. 2

    Vérifiez la direction détectée

    La direction est choisie à partir de l’extension, ou du contenu pour du texte brut. Modifiez-la dès que la détection automatique ne correspond pas à ce que vous vouliez.

  3. 3

    Convertissez et téléchargez

    Cliquez sur le bouton et enregistrez le fichier converti. Plusieurs fichiers sont renvoyés sous forme d’une archive ZIP.

Pourquoi il faut deviner la direction avec soin

Tout document JSON valide est aussi un YAML valide. Tester d’abord un fichier avec un parseur YAML classerait donc un simple fichier .json comme YAML et le convertirait en lui-même. L’extension a donc priorité : .json est converti en YAML, .yaml et .yml sont convertis en JSON. Seuls les .txt et autres entrées sans étiquette sont décidés au contenu, et JSON est tenté en premier pour exactement la même raison.

Une clé en double est une erreur, pas un choix

En JSON, la dernière valeur d’une clé répétée l’emporte, sans rien dire. En YAML, la même répétition est une erreur qu’il vaut mieux arrêter, parce que c’est dans les fichiers de configuration que cela arrive : un docker-compose.yml avec ports listé deux fois au même niveau annule silencieusement la première liste, et la découverte se fait souvent en production. Les deux numéros de ligne sont indiqués pour que vous voyiez quelle définition était sur le point de disparaître.

Quatre schémas, et ce qu’apporte un schéma plus strict

Le schéma par défaut résout les types YAML habituels, y compris les dates et les blocs binaires. core et json sont de plus en plus stricts, et failsafe ne reconnaît que les chaînes, mappages et séquences. Choisissez un schéma étroit quand une configuration doit être lue comme des données littérales : il évite les surprises classiques de YAML où un numéro de version devient un flottant et où no devient false.

Les configurations restent sur votre appareil

Les fichiers de configuration contiennent des noms d’hôtes, des ports, des noms de buckets et parfois pire. C’est précisément pour cela que la conversion se fait dans votre onglet de navigateur plutôt que sur un serveur. L’analyse et la réécriture s’exécutent localement, dans un thread worker, avec le code livré avec la page. Rien n’est envoyé, rien n’est mis en file d’attente et rien ne survit à la fermeture de l’onglet.

Questions fréquentes

Comment la direction de conversion est-elle choisie ?

D’abord par l’extension : .json part vers YAML, tandis que .yaml et .yml partent vers JSON. Pour les .txt et autres fichiers sans étiquette, c’est le contenu qui décide : le texte est essayé en JSON d’abord, puis en YAML. Si aucun des deux ne se parse, vous en êtes informé et pouvez choisir la direction vous-même.

Que se passe-t-il pour un fichier YAML avec plusieurs documents ?

Un fichier séparé par des marqueurs --- peut être lu dans les deux sens. Avec le mode multi-document activé, chaque document devient un élément d’un même tableau JSON. Avec ce mode désactivé, seul le premier document est converti et vous recevez un avertissement non bloquant indiquant que les autres ont été ignorés. Ainsi, un résultat tronqué n’est jamais une surprise silencieuse.

Pourquoi une clé en double est-elle traitée comme une erreur ?

Parce qu’en YAML, la deuxième définition remplace la première sans aucun signe que cela s’est produit. C’est une manière fréquente de perdre une redirection de port ou une variable d’environnement dans un fichier de configuration. La conversion s’arrête et indique la clé ainsi que les deux numéros de ligne, pour que vous décidiez quelle définition devait rester.

Qu’est-ce que le schéma failsafe et quand en ai-je besoin ?

failsafe ne résout que les chaînes, mappages et séquences ; rien n’est transformé en nombre, booléen, date ou null. C’est le bon choix quand une configuration doit être préservée littéralement, par exemple lorsqu’une valeur comme 1.10 est une version et non un nombre, ou lorsque le problème de la Norvège transforme le code pays no en false.

Les commentaires YAML sont-ils conservés dans le JSON ?

Non, et ce n’est pas possible. JSON n’a aucune syntaxe pour les commentaires, donc tout ce qui suit un # est supprimé pendant la conversion. C’est une propriété du format cible, pas un manque de l’outil. Gardez donc le YAML comme source de référence si les commentaires sont importants pour vous.

Que change le niveau de flux (flow level) ?

Il détermine à quelle profondeur d’imbrication la sortie YAML bascule du style bloc, avec tirets et indentation, au style en ligne comme [a, b] et {a: b}. Par défaut, chaque niveau reste en style bloc, qui se lit mieux pour des configurations modifiées à la main. Fixer une profondeur positive compacte tout ce qui est en dessous, ce qui convient aux données très imbriquées.

Les ancrages et alias sont-ils pris en charge ?

Non. Les ancrages, alias et clés de fusion (&defaults, *defaults et <<), ainsi que les tags applicatifs personnalisés, sont en dehors de ce que cet outil lit. Un fichier qui les utilise reçoit une erreur claire indiquant la ligne, plutôt qu’un résultat discrètement incorrect, ce qui est un échec plus sûr pour une configuration que vous allez déployer.

Mon fichier est-il envoyé quelque part ?

Non. Les deux parseurs sont livrés avec la page et s’exécutent dans votre onglet de navigateur, donc votre configuration ne circule jamais sur le réseau. Il n’y a aucun serveur pour la stocker, et rien n’est conservé une fois l’onglet fermé.

Outils associés