2016-04-08 4 views
1

Diese yaml Arbeit:YAML mehrzeilige auf die Unterstufe

- 
    test: > 
    long 

Diese yaml nicht:

- 
    test: > 
    long 
test 
text 

Das funktioniert nicht:

- 
    test: > 
    "long 
test 
text" 

Wie kann ich mehrere Zeilen erstellen? Die Frage wurde vorher beantwortet, aber nicht auf einer Unterebene, denke ich.

Muss ich die letzten Zeilen einrücken?

Ich benutze diesen Service zu testen: http://yaml-online-parser.appspot.com/

+0

Diese folgenden Zeilen einrücken Ich denke ... http://stackoverflow.com/questions/3790454/in-yaml-how-do-i-break-a-string-over-multiple-lines – kwinkunks

Antwort

2

Ja Sie your folded scalars with at least the same indentation folgen Zeilen einrücken müssen als die Elternlinie:

- 
    test: > 
    long 
    test 
    text 

Dies hat nichts damit zu tun, dass dies eine Unterebene ist oder nicht, dies gilt für gefaltete (und wörtliche) Skalare auf jeder Ebene. Für die Faltung macht es keinen großen Unterschied, aber für den literalen Stil werden die führenden Leerzeichen mit dem gleichen Einzug wie die obere Zeile entfernt (es sei denn, Sie geben einen zusätzlichen Einzug an).

Die weniger eingerückte Linie beendet den gefalteten Skalar und an diesem Punkt müssen Sie einen neuen Sequenzeintrag (mit -) beginnen, aber Sie haben dort einen Skalar, test, was zu einem Fehler führt.

1

Dies funktioniert für mich:

- yaml: 
    - > 
    This is some long text 
    that spans multiple lines. 

gibt ...

[ 
    { 
    "yaml": [ 
     "This is some long text that spans multiple lines.\n" 
    ] 
    } 
]