c#中json序列化与反序列化

来源:互联网 发布:金十数据官网外汇 编辑:程序博客网 时间:2024/06/05 03:27

序列化与反序列化有以下三种方式
1、使用JavaScriptSerializer类
2、使用DataContractJsonSerializer类
3、使用JSON.NET类库

一、使用JavaScriptSerializer类需要引用System.Web.Script.Serialization

//对象Order or = new Order() {    orderid = 1235,    clientid = 236,    passengername = "宫本武藏"};//序列化JavaScriptSerializer js = new JavaScriptSerializer (); string jsonStr = js.Serialize(or);//反序列化Order od = js.Deserialize<Order>(jsonStr);

二、使用DataContractJsonSerializer需要引用System.Runtime.Serialization.Json

//对象Order or = new Order() {    orderid = 1236,    clientid = 2966,    passengername = "娜可露露"};//序列化DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(or));MemoryStream Obj = new MemoryStream();js.WriteObject(Obj, or);Obj.Position = 0;StreamReader sr = new StreamReader(Obj, Encoding.UTF8);string json = sr.ReadToEnd();sr.Close();Obj.Close();//反序列化var ms = new MemoryStream(Encoding.Unicode.GetBytes(json));DataContractJsonSerializer deseralizer = new DataContractJsonSerializer(typeof(Order));Order od= (Order)deseralizer.ReadObject(ms);

三、使用json.net需要在NuGut程序包中引入类库json.net,代码开头引用Newtonsoft.Json

//对象Order or = new Order() {    orderid = 1237,    clientid = 136,    passengername = "橘右京"};//序列化string jsonStr = JsonConvert.SerializeObject(or);//反序列化Order od= JsonConvert.DeserializeObject<Order>(jsonStr);

四、总结

嗯,我没有测试过他们的速度性能,但是据说json.net会性能优秀很多。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 许你万丈光芒 丈六金身 组词语 中文字字幕在线字幕乱码 尺寸换算厘米 米尺寸换算 尺寸换算 丈尺寸换算 长度单位有哪些 丈亭镇 古月娜被千古丈亭续篇 古月娜被千古丈亭h改编 古月娜与千古丈亭h 古月娜和千古丈亭同人 丈育 丈姆娘秦菲雪 惊雪 空间之农家悍妇 千丈雪 三, .三 三际 三米 三育 三件 三早 三纬 三盒 三画 三o七 三命 三又 三两 晚上弄大妈三次 六界三道仙武帝尊 老公三个朋友弄到潮 我手机连三界 浮力三页 拼多多三只松鼠 仐三暗月纪元