2017-05-08 29 views
1

\n文字を複数行の文字列に使用しますが、YAMLでは\n文字を使用できません。どうすれば\n文字を使うことができますか?Yaml複数行の文字列のエスケープ文字

マイYAML:

treeroot: 
    branch1: 
     name: > 
      hello my friend\n how are you ? 
      i am fine and you ?\n 
      yes\nthanks 
     branch1-1: 
      name: Node 1-1 
    branch2: 
     name: Node 2 
     branch2-1: 
      name: Node 2-1 

私が知っている、我々はシングルラインモードで\n文字を使用することができますが、私は複数行にそれを使用します。

答えて

0

YAMLには「シングルライン」モードはありません。あなたは文字列を表すスカラーを持っていて、それらは単純(二重引用符なし)、一重引用符と二重引用符で囲むことができます。それとは別に、ブロックスタイルでは、リテラルとフォールドスタイルがあります。

リテラルと折り返しスタイルは常に複数行です(|>の行を数えると仮定します)。他のスカラーも複数行にすることができます。後者の場合、文字列の2つの改行は改行に変換され、改行はスペースに変換されます。バックスラッシュでエスケープするだけで、次のYAMLは、使用するために必要なものである、二重引用符で囲まれた文字列に許可されているので:

treeroot: 
    branch1: 
     name: "hello my friend\n how are you ? 
      i am fine and you ?\n 
      yes\nthanks" 
     branch1-1: 
      name: Node 1-1 
    branch2: 
     name: Node 2 
     branch2-1: 
      name: Node 2-1 

"hello my friend\n how are you ? i am fine and you ?\n yes\nthanks" 
として指定されたかのように最初のキー「名前」の値が同じです
関連する問題