【问题标题】:Syntax for empty dictionary in YAMLYAML 中空字典的语法
【发布时间】:2016-02-04 06:04:47
【问题描述】:

如何在 YAML 中表示一个空字典? IE。它在语义上应该等同于空的 json-object {}

【问题讨论】:

    标签: yaml


    【解决方案1】:

    简答:使用{}

    在yaml中有两种表示映射(字典)的方式; flow mappingsblock mappings:

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

    因此流映射样式适用于表示空映射。

    【讨论】:

    • 空列表将是 []
    • 为什么不合适呢?只是“empty_block_mapping:”有什么问题(之后什么都没有)
    • @JonathanHartley 将empty_block_mapping: 的右侧留空相当于empty_block_mapping: null,而不是empty_block_mapping: {}
    【解决方案2】:

    回答此类问题的一般技巧,以补充 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
    

    每当我不确定如何编码时,我都会使用它。

    【讨论】:

      猜你喜欢
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多