Cú pháp cho từ điển trống trong YAML


90

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:


163

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á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.


21
danh sách trống sẽ là []
gigi2 14/11/16

Tại sao nó không phù hợp mặc dù? Có gì sai với chỉ "blank_block_mapping:" (và không có gì sau đó)
Jonathan Hartley

6
@JonathanHartley chỉ để 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: {}.
rapter

9

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ì đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.