C#.Net解析Json序列化Json的方法總結(jié)


方法一:對象轉(zhuǎn)為json字符串

方法二:json字符串轉(zhuǎn)為對象

方法三:List數(shù)組對象轉(zhuǎn)為json字符串

方法四:json字符串轉(zhuǎn)為List數(shù)組對象


注:此序列化需要JsonHelper的支持,點(diǎn)擊下載JsonHelper幫助類庫

點(diǎn)擊查看JsonHelper幫助類庫用法教程


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Jsons.cn
{
    public partial class Json : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //以下所有轉(zhuǎn)換均支持復(fù)雜json轉(zhuǎn)換
                //方法一:對象轉(zhuǎn)為json字符串
                JsonsInfo info = new JsonsInfo()
                {
                    Name = "Json在線解析",
                    ProUrl = "www.hnxxbl.cn",
                    SiteID = 1472222,
                    SiteLink = "官方QQ群:308250404",
                    SiteInfo = "Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持"
                };
                string retinfostr = JsonHelper.json(info);//此時(shí)已轉(zhuǎn)換為json字符串,可以返回?cái)?shù)據(jù)咯
                //結(jié)果為:{"Name":"Json在線解析","ProUrl":"www.hnxxbl.cn","SiteID":1472222,"SiteLink":"官方QQ群:308250404","SiteInfo":"Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持"}
                Response.Write(retinfostr);


                //方法二:json字符串轉(zhuǎn)為對象
                string jsonstr = "{\"Name\":\"Json在線解析\",\"ProUrl\":\"www.hnxxbl.cn\",\"SiteID\":1472222,\"SiteLink\":\"官方QQ群:308250404\",\"SiteInfo\":\"Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持\"}";
                JsonsInfo jsonsinfo = (JsonsInfo)JsonHelper.jsonDes<JsonsInfo>(jsonstr);
                if (jsonsinfo != null)
                {
                    jsonstr = "我是解析后得到的對象值哦:"   jsonsinfo.Name   jsonsinfo.ProUrl   jsonsinfo.SiteID   jsonsinfo.SiteLink   jsonsinfo.SiteInfo;
                }
                Response.Write(jsonstr);


                //方法三:List數(shù)組對象轉(zhuǎn)為json字符串
                List<JsonsInfo> JsonsList = new List<JsonsInfo>()
                {
                    new JsonsInfo{   Name = "Json在線解析",
                    ProUrl = "www.hnxxbl.cn",
                    SiteID = 1472222,
                    SiteLink = "官方QQ群:308250404",
                    SiteInfo = "Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持"},
                    new JsonsInfo{   Name = "Json在線解析",
                    ProUrl = "www.hnxxbl.cn",
                    SiteID = 1472222,
                    SiteLink = "官方QQ群:308250404",
                    SiteInfo = "Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持"}
                };
                string ListStr = JsonHelper.json(JsonsList);//此時(shí)已經(jīng)將List數(shù)組轉(zhuǎn)為字符串了
                //得到的string字符串結(jié)果為:[{"Name":"Json在線解析","ProUrl":"www.hnxxbl.cn","SiteID":1472222,"SiteLink":"官方QQ群:308250404","SiteInfo":"Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持"},{"Name":"Json在線解析","ProUrl":"www.hnxxbl.cn","SiteID":1472222,"SiteLink":"官方QQ群:308250404","SiteInfo":"Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持"}]
                Response.Write(ListStr);
                //方法四:json字符串轉(zhuǎn)為List數(shù)組對象
                string listjsonstr = "[{\"Name\":\"Json在線解析\",\"ProUrl\":\"www.hnxxbl.cn\",\"SiteID\":1472222,\"SiteLink\":\"官方QQ群:308250404\",\"SiteInfo\":\"Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持\"},{\"Name\":\"Json在線解析\",\"ProUrl\":\"www.hnxxbl.cn\",\"SiteID\":1472222,\"SiteLink\":\"官方QQ群:308250404\",\"SiteInfo\":\"Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持\"}]";
                List<JsonsInfo> NewList = (List<JsonsInfo>)JsonHelper.jsonDes<List<JsonsInfo>>(listjsonstr);
                if (NewList.Count > 0)
                {
                    listjsonstr = "";
                    foreach (var item in NewList)
                    {
                        listjsonstr  = item.Name   item.ProUrl;//數(shù)據(jù)比較多,先用這兩個(gè)作為測試吧
                    }
                }
                //得到結(jié)果:Json在線解析www.hnxxbl.cnJson在線解析www.hnxxbl.cn...........
                Response.Write(listjsonstr);
                //以上整理了C#.Net中解析json的常用方法,也可以進(jìn)行任意擴(kuò)展哦
            }
        }
        /// <summary>
        /// 所需要的model類
        /// </summary>
        public class JsonsInfo
        {
            /// <summary>
            /// Json在線解析
            /// </summary>
            public string Name { get; set; }

            /// <summary>
            /// www.hnxxbl.cn
            /// </summary>
            public string ProUrl { get; set; }

            /// <summary>
            /// 1472222
            /// </summary>
            public int SiteID { get; set; }

            /// <summary>
            /// 官方QQ群:308250404
            /// </summary>
            public string SiteLink { get; set; }

            /// <summary>
            /// Json在線工具(http://www.hnxxbl.cn),Json學(xué)習(xí)資料專題模塊,只為你提供最好的Json學(xué)習(xí)資料,感謝你的支持
            /// </summary>
            public string SiteInfo { get; set; }

        }

    }
}


原文鏈接:C#.Net解析Json序列化Json的方法總結(jié)