首页 / JSON / 浅析JSON序列化与反序列化
浅析JSON序列化与反序列化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了浅析JSON序列化与反序列化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2018字,纯文字阅读大概需要3分钟。
内容图文
![浅析JSON序列化与反序列化](/upload/InfoBanner/zyjiaocheng/304/cc9972e100a04f9b8da3949fb12c99ae.jpg)
public class Personnel { public int Id { get; set; } public string Name { get; set; } }
执行序列化反序列化:
protected void Page_Load(object sender, EventArgs e) { Personnel personnel = new Personnel(); personnel.Id = 1; personnel.Name = "小白"; JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); //执行序列化 string r1 = jsonSerializer.Serialize(personnel); //执行反序列化 Personnel _Personnel = jsonSerializer.Deserialize<Personnel>(r1); }
r1输出结果:{"Id":1,"Name":"小白"}
可以使用 ScriptIgnore属性标记不序列化公共属性或公共字段。
public class Personnel { [ScriptIgnore] public int Id { get; set; } public string Name { get; set; } }
r1输出结果:{"Name":"小白"}
方法二:引入 System.Runtime.Serialization.Json命名空间使用 DataContractJsonSerializer类实现序列化
序列化类:People
public class People { public int Id { get; set; } public string Name { get; set; } }
执行序列化反序列化
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输出结果:{"Id":1,"Name":"小白"}
可以使用IgnoreDataMember:指定该成员不是数据协定的一部分且没有进行序列化,DataMember:定义序列化属性参数,使用DataMember属性标记字段必须使用DataContract标记类 否则DataMember标记不起作用。
[DataContract] public class People { [DataMember(Name = "id")] public int Id { get; set; } [IgnoreDataMember] public string Name { get; set; } }
输出结果: {"id":1}
更多浅析JSON序列化与反序列化相关文章请关注PHP中文网!
内容总结
以上是互联网集市为您收集整理的浅析JSON序列化与反序列化全部内容,希望文章能够帮你解决浅析JSON序列化与反序列化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。