yamlErste Schritte mit yaml

Bemerkungen

YAML ist eine rekursive Abkürzung für " Y AML A in't M arkup L Sprache". Es ist ein von Menschen lesbarer Serialisierungsstandard für alle Programmiersprachen.

Versionen

Ausführung Veröffentlichungsdatum
1,0 2004-01-29
1.1 2005-01-18
1.2 2009-10-01

Grundlegende Yaml-Syntax

YAML ist ein textbasiertes Format, mit dem strukturierte Daten in einer Hierarchie gespeichert werden können. YAML ist so konzipiert, dass es mit minimalem Aufwand von Menschen und Maschinen gelesen werden kann. Die YAML-Spezifikation finden Sie unter yaml.org . Es gibt auch eine Referenzkarte

Kommentare beginnen mit # und gehen bis zum Zeilenvorschub, Kommentare müssen durch Leerzeichen von anderen Token getrennt werden. Leerzeichen sind nicht frei, Einrückungen müssen Leerzeichen und keine Tabulatoren sein. YAML berücksichtigt, dass Zeilen, denen mehr Leerzeichen als der übergeordnete Schlüssel vorangestellt sind, darin enthalten sind. Außerdem müssen allen Zeilen die gleichen Leerzeichen vorangestellt werden, um zu derselben Karte zu gehören.

YAML hat Sequenzen und Zuordnungen als Sammlungstypen. Beide können im Fluss- und Blockstil dargestellt werden.

Eine Folge von Skalarzeichenfolgen in YAML sieht folgendermaßen aus:

[ one, two, three ]   # flow style

# or block style

- one
- two
- three

Ein Mapping besteht aus Schlüssel / Wert-Paaren:

index: 4  # block style
name: nali

# or 

{ index: 4, name: nali }   # flow style

# or nested (equivalent of { level: { one: { two: fun } } }):

level:

  one:

    two: fun

Grundlegende YAML-Typen

integer: 25
string: "25"
float: 25.0
boolean: true
null type: null

YAML-Sequenzdaten

Gleiche Listenstufe:

- Cat
- Dog
- Goldfish

Verschachtelte Liste:

-
 - Cat
 - Dog
 - Goldfish

Bemerkungen

# This comment occupies a whole line
- some item # This comment succeeds content of a line
- http://example.com/#nocomment
- "This # does not introduce a comment."
- |
    This is a block scalar.
    A # inside it does not introduce a comment.
   # unless it is less indented than the first line (this is one)

Beachten Sie, dass ein # einen Kommentar enthalten muss, um dies zu ermöglichen

  • am Anfang einer Zeile stehen oder
  • vorangestellt werden, Leerzeichen.

# muss immer von Whitespace gefolgt werden. # in zitierten Skalaren beginnen niemals Kommentare. # kann Kommentare am Ende von Block-Skalaren einführen, muss jedoch weniger eingerückt sein als die Basis-Einrückung des Block-Skalars (die normalerweise durch die Einrückung der ersten nicht leeren Zeile bestimmt wird).

Blockstilzuordnungen

Mit impliziten Schlüsseln:

key: value
another key:
  - some
  - more
  - values
[1, 2, 3]: last value, which has a flow style key

Mit impliziten und expliziten Schlüsseln:

? key
: value
another key:
  - some
  - more
  - values
? [1, 2, 3]
: last value, which has a flow style key

key , ein another key und [1, 2, 3] sind Keys desselben Mappings, obwohl sie unterschiedliche Key-Styles verwenden.


Verschachtelte Zuordnungen:

first level:
  second level:
    ? third level
    :
      forth level: value of implicit key
    ? third level, second key
    : value of explicit key
  ?
    mapping as: key of
    another: mapping
  : scalar value of mapping key
first level, second key:
  last value

Textstrings über mehrere Zeilen aufteilen

- Without quotes:
   You can just
   split a long piece of text like this.
- With quotes:
    "[But be careful:
     if you \"need\" punctuation, put double quotes around it. You can ev\
     en split without spaces by using backslashes."
- Or single quotes:
    'This works
     but isn''t as flexible'
- If you want to keep those new line characters: | 
    Then do
    it this way with 
    a pipe (|) character. (This string has three \n characters)
- Or you can have just the one final new line: >
    This string has
    just one \n character, at the very end.
- Block indicators:
    Look up >-, >+, |- and |+ for fine tuning.

Charaktere entkommen

YAML unterstützt drei Arten von Escape-Notationen:

  1. Entity-Flucht

    ein. Leerzeichen: "& # x20;"

    b. Doppelpunkt: "& # 58;"

    c. kaufmännisches Und: "& amp;"

  2. Unicode-Flucht

    ein. Leerzeichen: "\ u0020"

    b. einfaches Anführungszeichen: "\ u0027"

    c. doppelte Anführungszeichen: "\ u0022"

  3. Zitierte Fluchten

    ein. doppelter Anführungsstrich in einem einfachen Anführungsstrich: "Ist" ich lüge immer "eine wahre Aussage?"

    b. verschachtelte doppelte Anführungszeichen: "Sie sagte:" Ich habe aufgehört ""

    c. verschachteltes einzelnes Zitat: 'Er war sprachlos:' ''