首页 > 代码库 > C#实现JSON序列化与反序列化
C#实现JSON序列化与反序列化
1、使用 JavaScriptSerializer类实现序列化
namespace: System.Web.Script.Serialization
eg:
1 // 序列化 2 private string ObjectToJson(Person obj) 3 { 4 JavaScriptSerializer jsonSerialize = new JavaScriptSerializer(); 5 return jsonSerialize.Serialize(obj); 6 } 7 // 反序列化 8 private Person JsonToObject(string jsonStr) 9 { 10 JavaScriptSerializer jsonSerialize = new JavaScriptSerializer(); 11 return jsonSerialize.Deserialize<Person>(jsonStr); 12 }
注:可用 [ScriptIgnore] 标记不序列化的属性
2、使用 DataContractJsonSerializer类实现序列化
namespace:System.Runtime.Serialization.Json
eg:
1 // 序列化 2 using (MemoryStream stream =new MemoryStream()) 3 { 4 DataContractJsonSerializer jsonSerialize =new DataContractJsonSerializer(Person); 5 jsonSerialize.WriteObject(stream, obj); 6 jsonStr = Encoding.UTF8.GetString(stream.ToArray()); 7 } 8 // 反序列化 9 using (MemoryStream stream =new MemoryStream(Encoding.UTF8.GetBytes(jsonStr))) 10 { 11 DataContractJsonSerializer jsonSerialize =new DataContractJsonSerializer(Person); 12 obj = (Person)jsonSerialize.ReadObject(stream); 13 }
注:可用 [IgnoreDataMember] 标记不序列化的属性
C#实现JSON序列化与反序列化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。