在 json.net 中,我如何反序列化这个json:
{
"items": {
"count": 1,
"data": [
{
...
},
...
],
}
}
对于此 C# 类:
class MyData
{
[JsonProperty("items/data")] // this doesn't work
public List<object> Items { get; set; }
}
-
// Then this doesn't populate Items
MyData data = JsonConvert.DeserializeObject<MyData>(json);
有没有一种优雅的方式来用 json.net 做到这一点?
我只是想着如何做到这一点:
var jObject = JObject.Parse(json);
jObject["items"] = jObject["items"]["data"];
MyData data = JsonConvert.DeserializeObject<MyData>(jObject.ToString());
有人有更好的解决方案吗?
对于填充项目,你应该有这个
public class Datum
{
}
public class Items
{
public int count { get; set; }
public List<Datum> data { get; set; }
}
public class RootObject
{
public Items items { get; set; }
}
然后使用这个:
MyData data = JsonConvert.DeserializeObject<RootObject>(json);