Dynamic动态解析Json操作用法讲解
DynJsonHelper操作用法大全:
1,将对象转换为json数据
2,将json数据转为对象
3,将数组List列表对象转换为json数据
4,将json数据转为List数组列表对象
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; } } } }