3
我想在c#中解析yaml,以獲得哈希表列表。我正在使用YamlDotNet。這是我的代碼:如何解析yaml字符串
TextReader tr = new StringReader(txtRawData.Text);
var reader = new EventReader(new MergingParser(new Parser(tr)));
Deserializer des = new Deserializer(); ;
var result = des.Deserialize<List<Hashtable>>(tr);
它不會失敗,但給我一個空對象。
我YAML是這樣的:
- Label: entry
Layer: x
id: B35E246039E1CB70
- Ref: B35E246039E1CB70
Label: Info
Layer: x
id: CE0BEFC7022283A6
- Ref: CE0BEFC7022283A6
Label: entry
Layer: HttpWebRequest
id: 6DAA24FF5B777506
如何分析我的YAML並將其轉換爲所需的類型,而無需執行對我自己?
謝謝。我也更正了我發佈的yaml。你的方式工作正常。 – max 2014-09-04 03:29:56
@antoine這仍然是有效的代碼?當我今天用最新的stable版本試用這個時,Deserialize方法(上面的第2行)拋出一個異常,聲明期望SequenceStart,但得到了MappingStart。我知道YAML很好,因爲你的YamlStream加載它就好了。這個Hashtable列表似乎很感興趣,並且很想看看它是如何翻譯YAML文件的。不用擔心,如果它不再受支持,或者只適用於非常基本的YAML文件,我只是好奇。 – 2017-10-29 00:33:46