我想從API反序列化Json響應。反序列化JSON C#Json.net
的數據看起來像這樣
{
"response": {
"6112": {
"ID": 6112,
"Title": "AdditionalPhotos"
},
"5982": {
"ID": 5982,
"Title": "BikeRide"
},
"total_records": "20",
"returned_count": 10,
"returned_records": "1-10"
}
}
C#類:
public class Products
{
public class Product
{
public string Id { get; set; }
public string Title { get; set; }
}
public Product product { get; set; }
}
public class ss
{
public Dictionary<string, Products.Product> Response { get; set; }
public string total_records { get; set; }
}
序列化代碼
ss res = Newtonsoft.Json.JsonConvert.DeserializeObject<ss>(jsonData());
我可以得到它沒有total_records
條目,低於deserializng工作一個Dictionary <string , Product>
。但我無法弄清楚如何讓它起作用。這是我得到的錯誤
將值「20」轉換爲鍵入「產品+產品」時出錯。路徑「response.total_records」
我知道爲什麼我得到的錯誤,但我不能確定我怎麼能不打算在從total_records
substringing下進行。我無法控制API數據。
編輯:你們是快,我仍然得到把班達
屬性中的元數據是這個JSON objcet有效嗎?你有沒有嘗試http://json2csharp.com/? – 2014-10-19 19:11:45
你的代碼在哪裏? – 2014-10-19 19:14:55
謝謝Krzysztof,我沒有嘗試過,但我得到每個條目的個人課程。 @StephenKennedy。我知道錯誤是由於解串器試圖將「20」轉換爲它不是的產品對象而導致的。我只是無法弄清楚如何將Json反序列化爲對象的邏輯列表。 – 2014-10-19 19:23:37