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 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; } } } }