九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C#實(shí)現(xiàn)JSON序列化與反序列化介紹

方法一:引入System.Web.Script.Serialization命名空間使用 JavaScriptSerializer類實(shí)現(xiàn)簡單的序列化

序列化類:Personnel

public class Personnel
{
public int Id { get; set; }
public string Name { get; set; }
}

執(zhí)行序列化反序列化:

protected void Page_Load(object sender, EventArgs e)
{
Personnel personnel
= new Personnel();
personnel.Id
= 1;
personnel.Name
= "小白";


JavaScriptSerializer jsonSerializer
= new JavaScriptSerializer();
//執(zhí)行序列化
string r1 = jsonSerializer.Serialize(personnel);

//執(zhí)行反序列化
Personnel _Personnel = jsonSerializer.Deserialize<Personnel>(r1);
}

r1輸出結(jié)果:{"Id":1,"Name":"小白"}

可以使用 ScriptIgnore屬性標(biāo)記不序列化公共屬性或公共字段。

public class Personnel
{
[ScriptIgnore]
public int Id { get; set; }
public string Name { get; set; }
}

r1輸出結(jié)果:{"Name":"小白"}

方法二:引入 System.Runtime.Serialization.Json命名空間使用 DataContractJsonSerializer類實(shí)現(xiàn)序列化

序列化類:People

public class People
{
public int Id { get; set; }
public string Name { get; set; }
}
執(zhí)行序列化反序列化
protected void Page_Load(object sender, EventArgs e)
{
People people
= new People();
people.Id
= 1;
people.Name
= "小白";


DataContractJsonSerializer json
= new DataContractJsonSerializer(people.GetType());
string szJson = "";
//序列化
using (MemoryStream stream = new MemoryStream())
{
json.WriteObject(stream, people);
szJson
= Encoding.UTF8.GetString(stream.ToArray());
}
//反序列化
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
{
DataContractJsonSerializer serializer
= new DataContractJsonSerializer(typeof(People));
People _people
= (People)serializer.ReadObject(ms);
}
}

szJson輸出結(jié)果:{"Id":1,"Name":"小白"}

可以使用IgnoreDataMember:指定該成員不是數(shù)據(jù)協(xié)定的一部分且沒有進(jìn)行序列化,DataMember:定義序列化屬性參數(shù),使用DataMember屬性標(biāo)記字段必須使用DataContract標(biāo)記類 否則DataMember標(biāo)記不起作用。

[DataContract]
public class People
{
[DataMember(Name
= "id")]
public int Id { get; set; }
[IgnoreDataMember]
public string Name { get; set; }
}

輸出結(jié)果: {"id":1}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#實(shí)現(xiàn)json的序列化和反序列化
DataContractJsonSerializer類
JSONSerializer.writeWithFieldName
c# 解析JSON的幾種辦法
.NET中JSON的序列化和反序列化的幾種方式
JSON 序列化和反序列化——.net3.5自帶類庫實(shí)現(xiàn)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服