C#.Net解析Json序列化Json的方法总


方法一:对象转为json字符串

方法二:json字符串转为对象

方法三:List数组对象转为json字符串

方法四:json字符串转为List数组对象


注:此序列化需要JsonHelper的支持,点击下载JsonHelper帮助类库

点击查看JsonHelper帮助类库用法教程


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

namespace yunjson.com
{
    public partial class Json : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //以下所有转换均支持复杂json转换
                //方法一:对象转为json字符串
                yunjsonInfo info = new yunjsonInfo()
                {
                    Name = "Json在线解析",
                    ProUrl = "www.yunjson.com",
                    SiteID = 1472222,
                    SiteLink = "官方QQ群:308250404",
                    SiteInfo = "Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持"
                };
                string retinfostr = JsonHelper.json(info);//此时已转换为json字符串,可以返回数据咯
                //结果为:{"Name":"Json在线解析","ProUrl":"www.yunjson.com","SiteID":1472222,"SiteLink":"官方QQ群:308250404","SiteInfo":"Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持"}
                Response.Write(retinfostr);


                //方法二:json字符串转为对象
                string yunjsontr = "{\"Name\":\"Json在线解析\",\"ProUrl\":\"www.yunjson.com\",\"SiteID\":1472222,\"SiteLink\":\"官方QQ群:308250404\",\"SiteInfo\":\"Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持\"}";
                yunjsonInfo yunjsoninfo = (yunjsonInfo)JsonHelper.jsonDes<yunjsonInfo>(yunjsontr);
                if (yunjsoninfo != null)
                {
                    yunjsontr = "我是解析后得到的对象值哦:" + yunjsoninfo.Name + yunjsoninfo.ProUrl + yunjsoninfo.SiteID + yunjsoninfo.SiteLink + yunjsoninfo.SiteInfo;
                }
                Response.Write(yunjsontr);


                //方法三:List数组对象转为json字符串
                List<yunjsonInfo> yunjsonList = new List<yunjsonInfo>()
                {
                    new yunjsonInfo{   Name = "Json在线解析",
                    ProUrl = "www.yunjson.com",
                    SiteID = 1472222,
                    SiteLink = "官方QQ群:308250404",
                    SiteInfo = "Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持"},
                    new yunjsonInfo{   Name = "Json在线解析",
                    ProUrl = "www.yunjson.com",
                    SiteID = 1472222,
                    SiteLink = "官方QQ群:308250404",
                    SiteInfo = "Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持"}
                };
                string ListStr = JsonHelper.json(yunjsonList);//此时已经将List数组转为字符串了
                //得到的string字符串结果为:[{"Name":"Json在线解析","ProUrl":"www.yunjson.com","SiteID":1472222,"SiteLink":"官方QQ群:308250404","SiteInfo":"Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持"},{"Name":"Json在线解析","ProUrl":"www.yunjson.com","SiteID":1472222,"SiteLink":"官方QQ群:308250404","SiteInfo":"Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持"}]
                Response.Write(ListStr);
                //方法四:json字符串转为List数组对象
                string listyunjsontr = "[{\"Name\":\"Json在线解析\",\"ProUrl\":\"www.yunjson.com\",\"SiteID\":1472222,\"SiteLink\":\"官方QQ群:308250404\",\"SiteInfo\":\"Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持\"},{\"Name\":\"Json在线解析\",\"ProUrl\":\"www.yunjson.com\",\"SiteID\":1472222,\"SiteLink\":\"官方QQ群:308250404\",\"SiteInfo\":\"Json在线工具(http://www.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持\"}]";
                List<yunjsonInfo> NewList = (List<yunjsonInfo>)JsonHelper.jsonDes<List<yunjsonInfo>>(listyunjsontr);
                if (NewList.Count > 0)
                {
                    listyunjsontr = "";
                    foreach (var item in NewList)
                    {
                        listyunjsontr += item.Name + item.ProUrl;//数据比较多,先用这两个作为测试吧
                    }
                }
                //得到结果:Json在线解析www.yunjson.comJson在线解析www.yunjson.com...........
                Response.Write(listyunjsontr);
                //以上整理了C#.Net中解析json的常用方法,也可以进行任意扩展哦
            }
        }
        /// <summary>
        /// 所需要的model类
        /// </summary>
        public class yunjsonInfo
        {
            /// <summary>
            /// Json在线解析
            /// </summary>
            public string Name { get; set; }

            /// <summary>
            /// www.yunjson.com
            /// </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.yunjson.com),Json学习资料专题模块,只为你提供最好的Json学习资料,感谢你的支持
            /// </summary>
            public string SiteInfo { get; set; }

        }

    }
}