Dynamic动态解析Json操作用法讲解


DynJsonHelper操作用法大全:
1,将对象转换为json数据
2,将json数据转为对象
3,将数组List列表对象转换为json数据
4,将json数据转为List数组列表对象

DynJsonHelper动态解析Json帮助类源码下载

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

namespace AutoHome.JsonDynamic
{
    public partial class Test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                #region 将对象转换为json数据
                //将对象转换为json数据
                TestInfo info = new TestInfo() { Name = "Json解析", Num = 112, Time = DateTime.Now.ToString("g"), ByteStr = 0 };
                string jsonstr = DynJsonHelper.ToJson(info);//将对象转换为json数据
                //输出的json串为:{"Name":"Json解析","Num":112,"Time":"2016-4-1 9:53","ByteStr":0}
                Response.Write("/******************将对象转换为json数据************************************/" + "<br>");
                Response.Write(jsonstr + "<br><br>");
                #endregion

                #region 将json数据转为对象
                //将json数据转为对象
                //可以直接dyninfo.对象名
                jsonstr = "{\"Name\":\"Json解析\",\"Num\":112,\"Time\":\"2016-4-1 9:53\",\"ByteStr\":0}";
                dynamic dyninfo = DynJsonHelper.ToObject(jsonstr);
                Response.Write("/*****************将json数据转为对象****************************/" + "<br>");
                Response.Write(dyninfo.Name + "-" + dyninfo.Num + "-" + dyninfo.Time + "-" + dyninfo.ByteStr + "<br><br>");
                #endregion

                #region 将数组List列表对象转换为json数据
                //将数组List列表对象转换为json数据
                List<TestInfo> list = new List<TestInfo>() {
                    new TestInfo { Name = "Json解析", Num = 112, Time = DateTime.Now.ToString("g"), ByteStr = 0 },
                    new TestInfo { Name = "Json格式化", Num = 113, Time = DateTime.Now.AddDays(-1).ToString("g"), ByteStr = 1 },
                    new TestInfo { Name = "Json序列化", Num = 114, Time = DateTime.Now.AddDays(1).ToString("g"), ByteStr = 2 }};
                string jsonlist = DynJsonHelper.ToJson(list);
                Response.Write("/******************将数组List列表对象转换为json数据****************************/" + "<br>");
                Response.Write(jsonlist + "<br><br>");
                #endregion

                #region 将json数据转为List数组列表对象
                //将json数据转为List数组列表对象
                string newliststr = string.Empty;
                dynamic newlist = DynJsonHelper.ToObject(jsonlist);
                foreach (var item in newlist)
                {
                    newliststr += item.Name + "-" + item.Num + "-" + item.Time + "-" + item.ByteStr + "<br>";
                }
                Response.Write("/******************将json数据转为List数组列表对象****************************/" + "<br>");
                Response.Write(newliststr);
                #endregion
            }
        }
        public class TestInfo
        {
            public string Name { get; set; }
            public int Num { get; set; }
            public string Time { get; set; }
            public byte ByteStr { get; set; }
        }
    }
}