如何在YAML中创建一个空数组?


188
array_with_three_elements:
- 1
- 2
- 3

empty_array:

有什么方法可以指定empty_array:是没有元素的数组,例如with []吗?当我将其加载到ruby hash中时,我想知道它是一个数组。

谢谢


14
您尝试过使用[]吗?
吉米

Answers:


305

尝试使用[],例如:

empty_array: []

因此,在Ruby中,您可以:

x = YAML::load("empty_array: []")
x # => {"empty_array" => []}

32
我只是想补充一下,您可以进入irb并输入类似以下内容:“ require'yaml'; YAML :: dump({:hi => []}))”,以查看对象的yaml应该是什么。
Mike A.

20
我只想指出,JSON是YAML 1.2的官方子集,几乎是早期版本的子集。因此[]适用于空序列,""适用于空字符串和{}适用于空映射。
丹尼尔H

2
@DanielH请注意,YAML解析器可能不支持内部[]{}结构中的换行符,这是与JSON(来自Wikipedia的复制粘贴)的主要不兼容之处
。olibre

2
许多解析器仍在使用YAML 1.1。这可能是维基百科在谈论的。1.2版本的全部目的是使JSON成为正式的子集。
Daniel H

那strictyaml怎么样?
Xaser
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.