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


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" => []}

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.