Comment créer un tableau vide dans YAML?

190
array_with_three_elements:
- 1
- 2
- 3

empty_array:

Existe-t-il un moyen de spécifier que empty_array: est un tableau sans éléments, comme with []? Lorsque je le charge dans un hachage ruby, j'aimerais qu'il sache qu'il s'agit d'un tableau.

Merci

Julian Mann
la source
14
avez-vous essayé d'utiliser []?
Jimmy

Réponses:

307

Essayez d'utiliser [], comme:

empty_array: []

Donc, dans Ruby, vous avez:

x = YAML::load("empty_array: []")
x # => {"empty_array" => []}
maerics
la source
32
Je voulais juste ajouter que vous pouvez aller dans irb et taper quelque chose comme: "require 'yaml'; YAML :: dump ({: hi => []})" pour voir ce que devrait être le yaml pour un objet.
Mike A.
20
Je tiens simplement à souligner que JSON est un sous-ensemble officiel de YAML 1.2 et presque un sous-ensemble de versions antérieures. Ainsi []fonctionne pour une séquence vide, ""fonctionne pour une chaîne vide et {}fonctionne pour un mappage vide.
Daniel H
2
@DanielH Notez que les analyseurs YAML peuvent ne pas prendre en charge les sauts de ligne à l'intérieur []ou les {}structures, ce qui est une incompatibilité majeure avec JSON (copier-coller de Wikipedia ) Cheers
olibre
2
De nombreux analyseurs sont toujours sur YAML 1.1; c'est probablement ce dont parle Wikipédia. L'intérêt de la version 1.2 est de faire de JSON un sous-ensemble officiel.
Daniel H
que diriez-vous strictyaml?
Xaser le