我有一個JSON字符串,看起來與此類似:反序列化JSON選擇對象從JSON字符串
{
"automatic" : "true",
"brainstorm" : "1000",
"zombies" : [{ "Name" : "Fred", "Grrh" : "50" }, { "Name" : "Sally", "Grrh" : "67" }, { "Name" : "Chris", "Grrh" : "23" }],
"nightSkyRadius" : "30"
... could be anything here or at the same level as zombies ...
}
所以,在我的情況,我知道數組中的殭屍對象將始終是相同的。但除此之外我什麼都不知道。也就是說,可以有與zombies
值相同的任意數量的值。
所以我的問題是,我如何使用Json.NET反序列化只有我的zombies
?我不知道其他值是什麼(如果值是正確的術語),所以我不能只創建一個描述傳入的Json字符串的對象。所以我想我可以從json字符串中選擇zombies
,然後反序列化它。
但是,我想,我不得不寫一個字符串解析器,將zombies
.. ..這似乎是一個額外的不必要的步驟。不能Json.NET
爲我做這個?
此外,我試過JsonConvert.DeserializeObject<dynamic>(responseString);
,但只能處理在響應字符串中指定了一個殭屍的情況。
謝謝,我希望zombies
使這個問題似乎冷卻器笑
我現在的代碼庫要求列表在'JToken's中,你知道我該如何得到列表嗎?表示「殭屍」對象的'JToken'。 – visc
就我個人而言,我不認爲你正在使用JTokens來幫助你,因爲它只有當你不確定它裏面會發生什麼時纔會使用它。既然你只想將殭屍對象反序列化爲一個已定義的對象,將會使它更容易處理。https://stackoverflow.com/questions/38211719/json-net-why-use-jtoken-ever –
對,但在我的情況下,我不能完全改變實現。雖然好點。編輯:我正在使用'JToken' – visc