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


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

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

        }

    }
}


原文链接:C#.Net解析Json序列化Json的方法总结