Синтаксис порожнього словника в YAML


91

Як позначити порожній словник в YAML? Тобто це має бути семантично еквівалентно порожньому json-об'єкту {}.

Відповіді:


163

Коротка відповідь: використовуйте {}

Існує два способи позначення відображень (словників) у yaml; відображення потоків та відображення блоків :

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

Таким чином, стиль відображення потоку підходить для представлення порожніх відображень.


21
порожнім списком буде []
gigi2

Чому це непридатне? Що поганого в просто "empty_block_mapping:" (і нічого слідує за цим)
Джонатан Хартлі

6
@JonathanHartley просто залишити праву частину empty_block_mapping:порожнього - це еквівалент empty_block_mapping: null, ні empty_block_mapping: {}.
Ремпіон

8

Загальна техніка відповіді на запитання цього типу для доповнення правильної відповіді Бетамоса: використовуйте 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

Я використовую це, коли не знаю, як щось кодувати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.