我通常使用json2csharp为c#生成json类。但我确实有问题。我的json有这样的动态深度
{
"kategori": [
{
"id": "1",
"namakategori": "Tips & Trick",
"parent_id": "0",
"children": [
{
"id": "348",
"namakategori": "Fotografi",
"parent_id": "1",
"children": []
},
{
"id": "370",
"namakategori": "Hacking",
"parent_id": "1",
"children": []
}
]
},
{
"id": "12",
"namakategori": "Aplikasi",
"parent_id": "0",
"children": [
{
"id": "13",
"namakategori": "Tools",
"parent_id": "12",
"children": [
{
"id": "14",
"namakategori": "Toolsorder",
"parent_id": "13",
"children":[]
},
]
},
]
},
]
}
那么如何动态生成json类,以便它可以用于我的json?在上面的例子中,我有3个深度。但如果我去不同的页面,它可能有4个或更多的深度。
答案 0 :(得分:1)
您不需要动态声明您的课程 。这应该有效:
public class Child
{
public string id { get; set; }
public string namakategori { get; set; }
public string parent_id { get; set; }
public List<Child> children { get; set; } // <-- See this
}
public class RootObj
{
public List<Child> kategori { set; get; }
}
要反序列化我将使用Json.Net
var res = JsonConvert.DeserializeObject<RootObj>(json);
答案 1 :(得分:0)
您可以随时使用Newtonsoft.Json
For Instance,
JObject result = (JObject) JsonConvert.DeserializeObject(yourJsonDataHere);
var katObject = result.Property("kategori").Value;
依旧......
PS:不确定WP7是否支持Newtonsoft.Json。