我正在尝试使用c#将json解析为windows store app中的数组。
我的json如下
{
"catlist": [
{
"area_id": "1",
"area_name": "Ko",
"categories": [
{
"cat_id": "1",
"cat_name": "Hot",
"chk_value": "2",
"sublist": [
{
"sub_id": "5",
"sub_name": "Beach"
},
{
"sub_id": "6",
"sub_name": "Beach"
},
{
"sub_id": "7",
"sub_name": "Beach"
}
]
},
{
"cat_id": "2",
"cat_name": "Dining",
"chk_value": "1",
"sublist": [
{
"sub_id": "1",
"sub_name": "Road"
},
{
"sub_id": "2",
"sub_name": "Soi "
}
]
}]}
什么是将其解析为json元素数组并将其用于数据绑定的最简单方法
答案 0 :(得分:0)
使用Json.Net
var array = Newtonsoft.Json.Linq.JArray.Parse(jsonString);
使用WinRT API的JsonArray
类
var array = Windows.Data.Json.JsonArray.Parse(jsonString);
顺便说一句,根据JSON Lint
,您的JSON无效据我说这是有效的JSON数组
[
{
"catlist": [
{
"area_id": "1",
"area_name": "Ko",
"categories": [
{
"cat_id": "1",
"cat_name": "Hot",
"chk_value": "2",
"sublist": [
{
"sub_id": "5",
"sub_name": "Beach"
},
{
"sub_id": "6",
"sub_name": "Beach"
},
{
"sub_id": "7",
"sub_name": "Beach"
}
]
},
{
"cat_id": "2",
"cat_name": "Dining",
"chk_value": "1",
"sublist": [
{
"sub_id": "1",
"sub_name": "Road"
},
{
"sub_id": "2",
"sub_name": "Soi "
}
]
}
]
}
]
}
]
如果你想反序列化JSON,你应该喜欢这个。
var Obj = Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject[]>(jsonString);
public class Sublist
{
public string sub_id { get; set; }
public string sub_name { get; set; }
}
public class Category
{
public string cat_id { get; set; }
public string cat_name { get; set; }
public string chk_value { get; set; }
public List<Sublist> sublist { get; set; }
}
public class Catlist
{
public string area_id { get; set; }
public string area_name { get; set; }
public List<Category> categories { get; set; }
}
public class RootObject
{
public List<Catlist> catlist { get; set; }
}