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

Posted zeroingToOne

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#解析数组形式的json数据相关的知识,希望对你有一定的参考价值。

在学习时遇到把解析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);
}

参考:

https://blog.csdn.net/sajiazaici/article/details/77647625

https://www.cnblogs.com/zxx193/p/3664562.html

以上是关于C#解析数组形式的json数据的主要内容,如果未能解决你的问题,请参考以下文章

C# 解析JSON格式数据

解析:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

C#字符串转成JSON对象,并解析出里面的数据

如何使用新的 Swift 3 和 Alamofire 解析 JSON(字典和数组)

java中把json怎么转换成数组?

如何在 Ios 中解析数组数据中的嵌套 Json 对象