Blog
Français

Convertir JSON en YAML — Convertisseur en ligne

Convertir du JSON en YAML (indentation, tri des clés, position des erreurs)

Traitement dans le navigateur · aucun envoi de fichier

Résultat YAML

Présentation

YAML est un format de configuration conçu pour être facile à lire et à modifier, utilisé par les manifestes Kubernetes, GitHub Actions, Docker Compose et bien d’autres outils. Si vous avez une réponse d’API ou une configuration en JSON et qu’il vous la faut en YAML, collez-la ici. Le résultat apparaît dès le collage.

Mode d’emploi

  1. Collez votre JSON dans le champ de saisie.
  2. Choisissez une indentation de 2 ou 4 espaces. La plupart des outils YAML utilisent 2 par convention.
  3. Activez Trier les clés si vous voulez l’ordre alphabétique à tous les niveaux.
  4. Copiez le résultat. Si le JSON contient une erreur, la ligne et la colonne sont indiquées.

Fonctionnement

  • La saisie doit être du JSON strict selon la RFC 8259. La sortie est produite par la bibliothèque js-yaml sous une forme compatible avec le schéma core de YAML 1.2.
  • Une chaîne qui pourrait être lue comme un autre type, comme true, null, 123 ou 007, est automatiquement mise entre guillemets, si bien qu’un aller-retour ne change pas les types.
  • Les caractères accentués, le coréen, le chinois et les emojis sont écrits tels quels, sans échappement.
  • Le repliement automatique des lignes est désactivé, et une valeur qui apparaît plusieurs fois est réécrite à chaque fois au lieu d’utiliser des ancres et des alias (&, *).
  • Un tableau vide s’écrit [] et un objet vide {}. Un scalaire de premier niveau, comme une chaîne ou un nombre, est aussi converti.
  • Les entiers au-delà de 2^53 sont arrondis à la lecture de la saisie ; un avertissement s’affiche alors.

Exemples

Saisie :

{"name":"app","ports":[80,443],"owner":{"prénom":"Élodie"},"debug":false,"version":"1.0"}

Résultat :

name: app
ports:
  - 80
  - 443
owner:
  prénom: Élodie
debug: false
version: '1.0'

Questions fréquentes

Si je reconvertis le YAML en JSON, est-ce que je retrouve les mêmes données ?

La structure et les valeurs sont identiques. Les chaînes qui pourraient être lues comme un autre type, comme "true" ou "123", sont mises entre guillemets pour rester des chaînes. L’ordre des clés est conservé, sauf si vous activez le tri des clés.

Les longues phrases sont-elles repliées sur plusieurs lignes ?

Non. Le repliement des lignes est désactivé : une chaîne reste sur une seule ligne et n’est jamais coupée. Une chaîne qui contient des sauts de ligne peut être écrite sous forme de bloc scalaire YAML.

Comment les erreurs JSON sont-elles signalées ?

Vous obtenez la ligne et la colonne du premier caractère qui casse la syntaxe. Ce que le JSON n’autorise pas, comme les virgules finales et les commentaires, est également signalé comme une erreur.

Les très grands entiers sont-ils conservés ?

La saisie est lue par JavaScript, donc les entiers au-delà de 9007199254740991 (2^53-1) sont arrondis. Un avertissement s’affiche dans ce cas ; écrivez ces nombres sous forme de chaînes.

Il vous manque un outil ?