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