簡體   English   中英

讀取空的YAML文件

[英]Read empty YAML file

對於配置文件格式,我想使用YAML和Jackson來閱讀它。 所以我有一個帶有一些屬性的POJO類Configuration ,只需通過ObjectMapper.readValue()直接從文件中讀取相應的對象。

原則上工作正常,除非配置文件是 - 除了注釋 - 為空。 然后例外

com.fasterxml.jackson.databind.JsonMappingException: No content to map due to end-of-input

被扔了。 由於所有配置值都有默認值,因此不指定任何配置值的值應該沒問題,所以我想允許這樣做。 有沒有辦法說服傑克遜接受一個空文件?

如果YAML文件的頂級不是序列或映射,則它是標量。 這樣你就可以得到一個只包含字符串(或數字)的YAML文件。 如果標量值為空,則在列表中,作為映射中的值,它等效於表示為的NULL標量值(對於Ruby nil ,對於Python為None )。

空YAML文件是一個有效的YAML文件,其標量在沒有任何特定值的情況下為NULL。

現在單個標量文件很少有用,通常頂層是映射或序列或某些派生的復雜類型。 您的應用程序似乎假設頂層是適當的復雜類型,並且不檢查解析器是否返回NULL,它應該檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM