Convertisseur JSON vers YAML
Convertissez du JSON en YAML et du YAML en JSON pendant la saisie. Modifiez l'un des deux côtés, l'autre suit.
Épinglez vos outils ici. Ils sont enregistrés dans ce navigateur.
Épinglez un outil et son autocollant arrive ici.
Convertissez du JSON en YAML et du YAML en JSON pendant la saisie. Modifiez l'un des deux côtés, l'autre suit.
JSON et YAML décrivent le même genre de données : des dictionnaires, des listes, des chaînes, des nombres, des booléens et null. YAML 1.2 a été conçu pour que JSON en soit un sous-ensemble, et ajoute ce dont un fichier édité à la main a besoin : des commentaires, l'indentation à la place des accolades et des crochets, des chaînes multilignes, plusieurs documents dans un même fichier, et des ancres avec des alias pour réutiliser une valeur.
Passer de JSON à YAML conserve toutes les valeurs, à une exception près : une clé qui apparaît deux fois dans le même objet ne garde que sa dernière valeur, car un dictionnaire YAML ne peut pas répéter une clé. Passer de YAML à JSON ne conserve que les données : les commentaires disparaissent, les alias et les clés de fusion << sont remplacés par les valeurs auxquelles ils renvoient, les tags personnalisés comme !Ref sont supprimés mais leurs valeurs restent, et les clés qui ne sont pas des chaînes, comme 1 ou true, deviennent leur texte.
Le problème de la Norvège. En YAML 1.1, les mots yes, no, on et off sans guillemets sont des booléens : une liste de codes pays contenant no se retrouve donc avec false. YAML 1.2 ne garde que true et false. Le parseur de cet outil suit YAML 1.2, sauf si le document commence par une directive %YAML 1.1 : il lit donc no comme la chaîne « no ». Beaucoup de parseurs encore utilisés appliquent les règles de la 1.1 : quand cet outil écrit du YAML, il met donc ces chaînes entre guillemets.
Les numéros de version. Un 1.10 sans guillemets est un nombre à virgule flottante, et en tant que nombre il vaut 1.1. Les numéros de version, les codes postaux et tout ce qui ne fait que ressembler à un nombre doivent être mis entre guillemets pour rester du texte : version: "1.10".
Le côté que vous avez modifié en dernier sert de source, et l'autre côté est réécrit à partir de lui. Si la source ne peut pas être analysée, l'erreur s'affiche en dessous et l'autre côté conserve la dernière conversion valide. Les options d'indentation s'appliquent au côté généré ; changer l'indentation JSON réindente aussi le JSON que vous avez saisi, alors que le YAML que vous avez saisi n'est jamais réécrit, car cela supprimerait ses commentaires.
Les clés restent dans l'ordre de la source, y compris les clés composées de chiffres, qu'un objet JavaScript placerait en tête. Les entiers supérieurs à 2 puissance 53 sont recopiés chiffre par chiffre dans les deux sens. Un fichier YAML contenant plusieurs documents séparés par --- devient un tableau JSON, et la page le signale. Une clé utilisée deux fois dans un même dictionnaire YAML est signalée comme une erreur. Le YAML est lu et écrit par le package open source yaml, qui s'exécute dans votre navigateur.
YAML 1.2 a été conçu pour que JSON en soit un sous-ensemble, et un parseur YAML 1.2 lit un document JSON. Exception rare : un objet qui répète une clé, ce que YAML n'accepte pas. Vous pouvez le vérifier ici en collant du JSON du côté YAML.
JSON n'a ni les uns ni les autres. Les commentaires sont supprimés, et chaque alias est remplacé par une copie de la valeur que contient son ancre. Reconvertir ce JSON donne un YAML avec les mêmes données, mais sans les commentaires ni les ancres.
Sans guillemets, YAML lit 1.10 comme un nombre à virgule flottante, et ce nombre vaut 1.1. Écrivez "1.10" pour le garder sous forme de texte. Il en va de même pour des valeurs comme 010 ou 1e3.
Non. Les deux conversions s'exécutent en JavaScript dans l'onglet de votre navigateur, et l'outil n'envoie aucune requête réseau avec ce que vous saisissez.
Elle s'ouvre dans sa propre fenêtre et continue de fonctionner hors ligne.
Pour l'installer, touchez le bouton Partager, puis « Sur l'écran d'accueil ».