Convertissez du YAML en JSON et du JSON en YAML, avec la ligne et la colonne exactes de toute erreur de syntaxe.
YAML et JSON décrivent la même chose — dictionnaires, listes, chaînes, nombres, booléens et null — avec des priorités opposées. JSON utilise des accolades et des guillemets, que les machines aiment et que les humains tapent de travers. YAML utilise l'indentation et presque aucune ponctuation, ce qui plaît aux humains jusqu'au jour où une espace de trop change la forme du document. Convertir de l'un à l'autre est un travail de routine : lire un manifeste Kubernetes ou un workflow GitHub Actions en JSON pour qu'un script puisse le consommer, ou retransformer une réponse d'API en YAML pour un fichier de configuration. Cet outil va dans les deux sens et détecte lequel vous avez collé.
La conversion est la moitié facile ; c'est sur ce qui se passe quand le YAML est cassé que cet outil dépense ses efforts. Une erreur de syntaxe est signalée par une ligne et une colonne comptées comme un éditeur les compte, avec un extrait des lignes environnantes et un signe ^ sous le caractère exact qui a arrêté le parseur. La position n'est pas toujours là où on l'attend. Une tabulation utilisée pour l'indentation est refusée à la tabulation elle-même, et l'extrait l'affiche sous forme de flèche pour que vous puissiez voir ce que vous ne pouvez pas voir. Un guillemet non refermé est signalé à la fin du fichier, pas au guillemet ouvrant, parce que c'est là que le parseur a manqué de texte en cherchant le guillemet fermant. Une clé en double est signalée à sa seconde occurrence, et c'est ici une erreur, pas un avertissement. Les erreurs JSON reçoivent le même traitement : les navigateurs les formulent différemment et certains n'indiquent qu'un décalage en caractères, alors la ligne et la colonne sont calculées ici et sortent identiques partout.
YAML sait exprimer des choses que JSON ne peut pas, et chacune d'elles est signalée au lieu de modifier vos données en silence. Les ancres et les alias sont développés : un alias devient une copie complète de la valeur ancrée, et on vous le dit. Les merge keys, non : le parseur fonctionne avec le schéma JSON, qui ne les résout pas, donc une ligne << survit comme clé littérale, avec un avertissement vous invitant à fusionner ces champs à la main. Un fichier contenant plusieurs documents séparés par --- devient un tableau JSON, un élément par document. Les valeurs .inf et .nan ressortent en null, et les très grands entiers perdent leurs derniers chiffres ; les deux cas sont signalés. Ce schéma est aussi un choix de sécurité : des tags comme !!js/function sont rejetés comme inconnus plutôt qu'instanciés. Et rien de tout cela ne voyage — tout s'exécute sur votre appareil.
Non. Le texte est analysé et converti par du JavaScript sur votre propre appareil — rien n'est envoyé nulle part, stocké ni journalisé. Cela compte ici : un manifeste Kubernetes transporte des noms d'hôtes, des ports, des noms de buckets et des comptes de service.
C'est l'endroit où le parseur a abandonné, compté à partir de 1 comme dans votre éditeur, avec le signe ^ sous ce caractère. Un cas surprend souvent : un guillemet non refermé est signalé à la fin du fichier, alors remontez jusqu'au dernier guillemet que vous avez ouvert.
Oui. Chaque alias devient une copie complète de la valeur ancrée dans le JSON, et l'outil vous le dit. Les merge keys font exception : elles ne sont pas résolues, le << survit comme clé littérale, et vous recevez un avertissement explicite au lieu d'un résultat silencieusement faux.
Oui. JSON n'a pas la notion de plusieurs documents dans un fichier : chaque document YAML devient un élément d'un tableau JSON, dans l'ordre, et un message indique combien ont été trouvés.
Parce que YAML 1.2 ne traite que true et false comme des booléens ; yes, no, on et off restent des chaînes. Les anciens parseurs 1.1 les convertissaient — la même règle qui transforme le code pays NO en false. Mettez une valeur entre guillemets chaque fois qu'elle doit rester du texte.
Vai.la transforme n'importe quelle URL en lien court avec statistiques de clics, QR Code et votre propre biolink.
Vai.la n'est pas responsable de l'utilisation des outils ni des décisions prises sur la base de leurs résultats.