在学习时遇到把解析json数据的问题,网上也搜了很多资料才得以实现,记录下来以便翻阅。
1. 下载开源的类库Newtonsoft.Json(下载地址http://json.codeplex.com/, 也可以在这里下载)
2. vs 添加dll引用
(1). 我是将.dll文件放在了bin/debug文件下
(2). c#项目名称上右键->添加->引用->浏览->选择.dll所在文件位置->确定
(3). 添加引用: using Newtonsoft.Json;
3. 生成json字符串对应的c#实体类
json生成实体类工具:http://tool.chinaz.com/tools/json2entity.aspx (注:在生成json格式数据对应的实体类时,每对参数之间用逗号隔开)
要解析的json格式的数据:
[
{
"ItemNumber":"" ,
"ItemName":"cap"
},
{
"ItemNumber":"",
"ItemName":"golve"
}
]
自动生成的实体类:
class Item
{
/// <summary>
/// 编号
/// </summary>
public string ItemNumber { get; set; } /// <summary>
/// name
/// </summary>
public string ItemName { get; set; }
} class ItemList
{
/// <summary>
/// Item列表
/// </summary>
public List<Item> Item { get; set; }
}
4. 解析json数据
string jsonText = "[{'ItemNumber':'022','ItemName':'cap'},{'ItemNumber':'023','ItemName':'golve'}]"; //要有[]
ItemList itemList = JsonConvert.DeserializeObject<ItemList>(jsonText); //反序列化json字符串得到对象
foreach(Item item in itemList.Item)
{
Console.WriteLine(Item.ItemNumber);
Console.WriteLine(Item.ItemName);
}
参考: