.NET中怎么解析JSON字符串数据

JSON数据格式在当前前端开发中已经非常流行了,因为他简洁明了的语法(结构简洁,容易理解,适用性强)不仅受到开发者的青睐也有利于网络数据的传输,由于在数据传输的时候一般都会以JSON字符串的形式进行传递,所以无论前端还是后端都需要对他进行解析,解析为JSON对象后才能很方便的进行数据操作,因此在.NET的WEB开发中如何对JSON字符串进行解析是一个开发者应该了解的技术...

jesen
1
2020-03-20 07:15:01
文档目录
我的书签
 

使用Json.NET解析JSON字符串

Json.NET类库,也就是Newtonjson,它是一个可以用于.NET的Json辅助工具类(官方地址:https://www.newtonsoft.com/json);功能很多很强大,它可以将对对象序列化为json字符串;直接通过NuGet 包管理器 可以安装到项目中,安装教程可以在官方网站中找到。下面是代码实例:
using Newtonsoft.Json;
public partial class api_HomeApi : System.Web.UI.Page
{
    /// <summary>
    /// 首页数据
    /// </summary>
    private void homeData()
    {

        Hashtable data = new Hashtable(); //使用table来构建返回多个键值对
        ArrayList navList = getNavList();
        ArrayList priceList = getPriceList();

        data.Add("nav", navList); //将列表放入table中
        data.Add("price", priceList);
        data.Add("img_right", "../iam/img1.jpg,../iam/img2.jpg"); //将字符串放入table中
        data.Add("img_bottom", "../iam/img3.jpg,../iam/img4.jpg");

        this.Response.AddHeader("Content-Type", "application/json; charset=utf-8"); //声明返回格式
        this.contractrJSONHelper.responseSuccess(this.Response, "", JsonConvert.SerializeObject(data), true); //使用Newtonsoft.Json

    }
}

请求结果如下:

{
    "code": "200",
    "data": {
        "nav": [
            {
                "data": [
                    {
                        "id": 1,
                        "changjia": "test1"
                    }
                ],
                "title": "t1"
            }, 
            {
                "data": ["1", "2"],
                "title": "t2"
            },
            {
                "data": ["3", "4"],
                "title": "t3"
            }
        ],
        "price": [
            {
                "id": 1,
                "data": [
                    {
                        "nr": "1"
                    }
                ],
                "title": "tt1"
            }, 
            {
                "id": 2,
                "data": [],
                "title": "tt2"
            }
        ],
        "img_right": "../iam/img1.jpg,../iam/img2.jpg",
        "img_bottom": "../iam/img3.jpg,../iam/img4.jpg"
    },
    "msg": ""
}

根据测试,Json.NET对于DataTable也能和很好的支持

友情提示