1. 程式人生 > >C#解析數組形式的json數據

C#解析數組形式的json數據

自動生成 解析json text href 參數 number nco 這樣的 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); }

另外,要註意,!!!

如果傳參的josn裏面有套用對象參數,那麽一定要是這樣的格式:例如:

{"businessId": 5,"msgContent":{"cityId":"432", "cityName": "阿拉善盟(阿拉善左旗)","code": "4546", "deptId": "88", "deptName": "7879", "name": "成本中心---4546測試","outletId": "456", "outletName": "4564"},"operator": 23,"systemId":6}
msgContent參數建議用強類型,對象傳參不能加“”。

C#解析數組形式的json數據