YAML vers JSON : conservez les sauts de ligne que vous avez prévus
Un tuyau, un signe supérieur et un signe moins produisent des chaînes différentes. Cinq petits exemples montrent pourquoi.
Un paragraphe YAML peut ressembler à deux lignes dans votre éditeur, mais devenir une seule ligne en JSON. Le caractère après la clé détermine comment ces sauts de ligne sont interprétés ; un signe moins décide si le saut de ligne final est conservé.
Ouvrez le convertisseur CSV, JSON & YAML, collez cet exemple, choisissez YAML dans De et JSON dans Vers :
literal: |
Ready to share.
Check the link.
folded: >
Ready to share.
Check the link.
literal_strip: |-
Ready to share.
Check the link.
folded_strip: >-
Ready to share.
Check the link.
Lisez la sortie avant de modifier le texte
Le convertisseur produit ces quatre chaînes :
{
"literal": "Ready to share.\nCheck the link.\n",
"folded": "Ready to share. Check the link.\n",
"literal_strip": "Ready to share.\nCheck the link.",
"folded_strip": "Ready to share. Check the link."
}
Dans le JSON source, \n représente un saut de ligne à l'intérieur de la chaîne. Ce n'est pas une barre oblique inversée supplémentaire que votre lecteur verra après l'analyse du JSON. L'indentation en dehors des guillemets ne sert qu'à rendre le JSON plus lisible ; elle ne modifie pas cette chaîne.
Pour une légende sur deux lignes, la troisième version est souvent la plus utile. Pour une phrase répartie sur deux lignes dans un fichier de configuration, la quatrième la conserve d'un bloc sans saut de ligne final.
Choisissez le style de bloc et la fin séparément
| Marqueur YAML | Entre les lignes de texte ordinaires | À la fin de cet exemple |
|---|---|---|
| |
Conserve un saut de ligne | Conserve un saut de ligne final |
> |
Remplace le saut par un espace | Conserve un saut de ligne final |
|- |
Conserve un saut de ligne | Supprime le saut de ligne final |
>- |
Remplace le saut par un espace | Supprime le saut de ligne final |
Ces règles décrivent les blocs non vides comme cet exemple. YAML appelle la règle de fin « chomping » ; la spécification des scalaires de bloc définit également un signe plus pour conserver les lignes vides de fin.
Le pliage n'efface pas chaque saut de ligne. Les lignes vides et les lignes plus indentées ont des règles distinctes. Faites un petit test avant de convertir un message, une invite ou une commande shell dont l'espacement compte.
Une ligne vide sépare toujours les paragraphes
Cet exemple utilise du texte plié mais inclut une ligne vide :
paragraphs: >-
First paragraph.
Second paragraph.
Sa valeur convertie est :
{
"paragraphs": "First paragraph.\nSecond paragraph."
}
Il y a un saut de ligne entre les deux paragraphes, ni un espace ni deux sauts de ligne. Si vous avez besoin de lignes vides exactes, utilisez un bloc littéral et vérifiez la chaîne résultante.
Indentez le contenu du bloc avec des espaces sous sa clé. Déplacer une ligne vers la gauche peut terminer le bloc ou rendre le document invalide. Un document cassé doit être corrigé à la source plutôt que « réparé » en supprimant tous les espaces.
Conservez le YAML si les commentaires comptent
Téléchargez l'exemple YAML complet et son JSON converti. L'exemple inclut les cinq cas ci-dessus.
La conversion préserve les valeurs interprétées, pas la présentation originale du YAML. Les commentaires, les marqueurs de style de bloc et la notation d'alias ne sont pas conservés en JSON. Conservez le YAML original si vous devez modifier la configuration à nouveau ; le reconvertir ne restaurera pas ces détails.
Le 12 octobre 2026, nous avons exécuté le fichier téléchargeable via la fonction de conversion de l'outil et vérifié chaque chaîne, y compris son saut de ligne final. Le fichier de résultats enregistre les valeurs attendues et les hachages de téléchargement. L'outil convertit localement dans votre navigateur, mais vous devriez quand même utiliser un exemple sans données privées lorsque vous partagez une configuration avec quelqu'un d'autre.