¿Cómo denoto un diccionario vacío en YAML? Es decir, debería ser semánticamente equivalente al objeto json vacío {}
.
90
Respuesta corta: use {}
Hay dos formas de denotar asignaciones (diccionarios) en yaml; asignaciones de flujo y asignaciones de bloques :
block_mapping:
name: foo
id: bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}
Por tanto, el estilo de mapeo de flujo es adecuado para representar mapeos vacíos.
empty_block_mapping:
espacio en blanco es el equivalente deempty_block_mapping: null
, noempty_block_mapping: {}
.Técnica general para responder a este tipo de preguntas, para complementar la respuesta correcta de Betamos: use 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
Lo uso cuando no estoy seguro de cómo codificar algo.
fuente