從API調用的結果來看,我有大量的JSON需要處理。反序列化JSON響應而不創建類
我現在有這個
Object convertObj = JsonConvert.DeserializeObject(responseFromServer);
我知道我可以做類似
Movie m = JsonConvert.DeserializeObject<Movie>(responseFromServer);
,然後用它像
m.FieldName
m.AnotherField
//etc
我非常希望做一些事情像
var itemName = convertObj["Name"];
獲取列表中第一項的第一個名稱值。
這是可能的,還是我必須創建一個類來反序列化?
我不想創建類的原因是我不是API的所有者,並且字段結構可能會更改。
編輯。
好吧,所以我創建了類,因爲它似乎是最好的方法,但有沒有一種方法將JSON反序列化爲列表?
var sessionScans = new List<SessionScan>();
sessionScans = JsonConvert.DeserializeObject<SessionScan>(responseFromServer);
抱怨說它無法將SessionScan轉換爲通用列表。
你可以使用'Dynamic',但不推薦。 –
[反序列化JSON到C#動態對象?]可能的重複?(http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object) – Davatar
@MohitShrivastava爲什麼它*不推薦* ? – Jim