C#.Net解析Json序列化Json的方法总结
注:此序列化需要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; } } } }