[英]How to enable parsing yaml using yamldotnet which accepts both list and keyvalue pairs under same name?
我有一個 yaml,其中以下兩種格式都可以接受 -
args:
buildno: 1
gitcommithash: cdc3b19
和
args:
- buildno=1
- gitcommithash=cdc3b19
使用當前的YamlDotnet
配置,
[YamlMember(Alias = "args")]
public Dictionary<string, string> Args { get; set; }
當 yaml 的格式為 no 時,我可以解析。 1. 如何修改我的YamlDotNet
代碼以接受這兩種格式? 即接受列表以及 Args 字典?
最簡單的方法是創建一個實現IDictionary<string, string>
和IList<string>
的 class 。 您可以嘗試從Dictionary<string, string>
繼承並實現列表接口。 我認為從 IList 實現 Add 方法就足夠了,您可以在其中通過=
字符拆分字符串並添加到字典中。
還有其他方法,但這是最簡單的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.