Làm cách nào để biểu thị một từ điển trống trong YAML? Tức là nó phải tương đương về mặt ngữ nghĩa với đối tượng json rỗng {}
.
Câu trả lời:
Câu trả lời ngắn gọn: sử dụng {}
Có hai cách để biểu thị ánh xạ (từ điển) trong yaml; ánh xạ luồng và ánh xạ khối :
block_mapping:
name: foo
id: bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}
Do đó, kiểu ánh xạ luồng phù hợp để biểu diễn các ánh xạ rỗng.
empty_block_mapping:
trống phía bên tay phải tương đương với empty_block_mapping: null
, không phải empty_block_mapping: {}
.
Kỹ thuật chung để trả lời loại câu hỏi này, để bổ sung câu trả lời đúng của Betamos: sử dụng 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
Tôi sử dụng điều này bất cứ khi nào tôi không chắc chắn về cách mã hóa thứ gì đó.