YAMLの空の辞書の構文


90

YAMLで空の辞書を示すにはどうすればよいですか?つまり、空のjson-objectと意味的に同等である必要があります{}

回答:


163

簡単な答え:使用 {}

yamlでマッピング(辞書)を表すには2つの方法があります。フローマッピングブロックマッピング

block_mapping:
    name:  foo
    id:    bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}

したがって、フローマッピングスタイルは、空のマッピングを表すのに適しています。


21
空のリストは[]
gigi2 2016年

なぜそれは不適切なのですか?「empty_block_mapping:」だけの何が問題になっていますか(その後は何もありません)
JonathanHartley19年

6
@JonathanHartleyempty_block_mapping:は、空白の右側をそのままにしておくことはempty_block_mapping: null、ではなく、と同等ですempty_block_mapping: {}
暴れ

8

Betamosの正解を補足するために、このタイプの質問に答えるための一般的な手法:irbを使用します。

$ irb
2.2.0 :001 > require 'yaml'
 => true 
2.2.0 :002 > puts({}.to_yaml)   # original question
--- {}
 => nil 
2.2.0 :003 > puts({ mixed_types: [{}, "string", :symbol, {symbol: "value"}, nil, 3] }.to_yaml)
---
:mixed_types:
- {}
- string
- :symbol
- :symbol: value
- 
- 3
 => nil

何かをエンコードする方法がわからないときはいつでもこれを使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.