如何在 YAML 表示一个空的字典? 也就是说,它应该在语义上等同于空的 json-object {}。
{}
简短的回答: 使用 {}
在 yaml 中有两种表示映射(字典)的方法: 流映射和 块映射块映射:
block_mapping: name: foo id: bar flow_mapping: { name: foo, id: bar } empty_flow_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
每当我不确定如何编码的时候,我就用这个。