在學習時遇到把解析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":"022" , "ItemName":"cap" }, { "ItemNumber":"023", "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); }
參考:
