我想从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