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