本文摘自PHP中文网,作者黄舟,侵删。
可以使用DataContractJsonSerializer类将类型实例序列化为JSON字符串,并将JSON字符串反序列化为类型实例。 DataContractJsonSerializer在System.Runtime.Serialization.Json命名空间下,.NET Framework 3.5包含在System.ServiceModel.Web.dll中,需要添加对其的引用;.NET Framework 4在System.Runtime.Serialization中。
利用DataContractJsonSerializer序列化和反序列化的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Web;
5: using System.Runtime.Serialization.Json;
6: using System.IO;
7: using System.Text;
8:
9: /// <summary>
10: /// JSON序列化和反序列化辅助类
11: /// </summary>
12: public class JsonHelper
13: {
14: /// <summary>
15: /// JSON序列化
16: /// </summary>
17: public static string JsonSerializer<T>(T t)
18: {
19: DataContractJsonSerializer ser = new DataContractJsonSerializer( typeof (T));
20: MemoryStream ms = new MemoryStream();
21: ser.WriteObject(ms, t);
22: string jsonString = Encoding.UTF8.GetString(ms.ToArray());
23: ms.Close();
24: return jsonString;
25: }
26:
27: /// <summary>
28: /// JSON反序列化
29: /// </summary>
30: public static T JsonDeserialize<T>( string jsonString)
31: {
32: DataContractJsonSerializer ser = new DataContractJsonSerializer( typeof (T));
33: MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
34: T obj = (T)ser.ReadObject(ms);
35: return obj;
36: }
37: }
|
序列化Demo:
阅读剩余部分
相关阅读 >>
c# 实现截图功能的操作实例
.net core使用redis发布订阅方法介绍
c#中强制转换与尝试转换的实现方法
.net core mvc实现一个在线房间棋牌游戏微信支付和及时通讯的简易框架
c#使用aforge实现摄像头录像功能的案例
c#中关于infinity与nan的简单介绍
介绍asp.net使用session的方法
c#之浮点数计算问题的解决
c#中ini配置文件的图文代码详解
.net winform的gdi双缓冲的实现方法_实用技巧
更多相关阅读请进入《.net》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » .NET中JSON数据进行序列化和反序列化操作分析