【发布时间】:2016-02-04 06:04:47
【问题描述】:
如何在 YAML 中表示一个空字典? IE。它在语义上应该等同于空的 json-object {}。
【问题讨论】:
标签: yaml
如何在 YAML 中表示一个空字典? IE。它在语义上应该等同于空的 json-object {}。
【问题讨论】:
标签: yaml
简答:使用{}
在yaml中有两种表示映射(字典)的方式; flow mappings 和 block mappings:
block_mapping:
name: foo
id: bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}
因此流映射样式适用于表示空映射。
【讨论】:
empty_block_mapping: 的右侧留空相当于empty_block_mapping: null,而不是empty_block_mapping: {}。
回答此类问题的一般技巧,以补充 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
每当我不确定如何编码时,我都会使用它。
【讨论】: