码迷,mamicode.com
首页 > 编程语言 > 详细

C#解析数组形式的json数据

时间:2018-12-21 20:21:17      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:class   传参   形式   ali   out   blank   serialize   对象   targe   

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数据

标签:class   传参   形式   ali   out   blank   serialize   对象   targe   

原文地址:https://www.cnblogs.com/jiuyueBlog/p/10158643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!