YAML

Online YAML Parser

記法

アンカー

オブジェクトのかたまりごとアンカーをつける場合。

user: &my-user
  id: 1
  name: 'hoge'

user2: *my-user

リストの中の1要素にアンカーを付ける場合。

users:
  - &hoge
    id: 1
    name: 'hoge'
  - id: 2
    name: 'fuga'
  # リスト項目をまるごとアンカーにできる
  - *hoge
  # アンカーをベースにして一部のプロパティのみ上書きすることもできる
  - <<: *hoge
    id: 3

単一の値で使う場合はプロパティ名: &アンカー 値で書く。

# ↓はNG
# Title: The Cat in the Hat &catInTheHat
Title: &catInTheHat The Cat in the Hat 
Author: Dr. Seuss

ネストしたプロパティにアンカーを付ける場合。

user: &user
  id: 1
  name: hoge
  nested: &nested
    a: 1
    b: 2

# nested.aのみ上書きする
test:
  <<: *user
  nested:
    <<: *nested
    a: 100

アンカー名は重複してもいい。その場合は一番最後に定義された値が適用される。