如何在YAML中表示空字典?即它应该在语义上等效于空的json-object {}
。
答案 0 :(得分:91)
简答:使用{}
有两种方法可以表示yaml中的映射(字典); flow mappings和block mappings:
block_mapping:
name: foo
id: bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}
流映射样式因此适用于表示空映射。
答案 1 :(得分:6)
回答此类问题的一般技巧,以补充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
每当我不确定如何编码时,我就会使用它。