我以下列格式返回JSON:
{
"Items": [
{
"unique_id": "11111111111",
"rages": {
"rage_content": "Hello rage 2",
"date_stamp": "21/07/2017",
"id": 2
}
},
{
"unique_id": "2222222222",
"rages": {
"rage_content": "Hello rage 1",
"date_stamp": "21/07/2017",
"id": 1
}
}
],
"Count": 2,
"ScannedCount": 2
}
我定义了以下2个类:
Items.cs
:
namespace ragevent_A0._0._1
{
class Items
{
public String rage_id { get; set; }
public rage rage { get; set; }
}
}
rage.cs
:
class rage
{
public String rage_content { get; set; }
public String date_stamp { get; set; }
public int id { get; set; }
}
我正在使用以下代码来尝试解除上面返回的JSON:
List<Items> data = JsonConvert.DeserializeObject<List<Items>>(json);
但是,由于上述错误,我无法成功反序列化数据。我已经在线尝试了一些解决方案,但是我还没有设法找到一个与我返回的JSON格式一致的解决方案。我使用了JSON格式化程序并且格式正确,因此不应该成为问题。
非常感谢任何帮助!
答案 0 :(得分:2)
对于下面发布的JSON数据,应该是您需要的模型(信用:http://json2csharp.com/)。属性名称pathlib.Path.resolve()
之间存在不匹配。您可以使用rage_id
属性
JsonProperty
您的反序列化应该是
public class Rages
{
public string rage_content { get; set; }
public string date_stamp { get; set; }
public int id { get; set; }
}
public class Item
{
[JsonProperty(Name="rage_id")]
public string unique_id { get; set; }
public Rages rages { get; set; }
}
public class RootObject
{
public List<Item> Items { get; set; }
public int Count { get; set; }
public int ScannedCount { get; set; }
}