zoukankan      html  css  js  c++  java
  • C#解析数组形式的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参数建议用强类型,对象传参不能加“”。
  • 相关阅读:
    工厂方法和抽象工厂
    waterMarkTextBox
    button hot key 热键
    wpf 双击行。。获得行信息
    update comboBox
    WPF标准控件模板查看程序(文件里面)
    Sp EF输出 临时表
    tree view
    Ubuntu 常用命令
    ESP8266 开发记录
  • 原文地址:https://www.cnblogs.com/jiuyueBlog/p/10158643.html
Copyright © 2011-2022 走看看