C#通用类库整理--序列化类
2024-10-09 00:29:44
程序员在编写应用程序的时候往往要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上
以实现通讯。这个将程序数据转化成能被存储并传输的格式的过程被称为"序列化"(Serialization),而它的逆过程则可被称为"反序列化"(Deserialization)。
.NET存在几种默认提供的序列化,二进制序列化,xml和json序列化会序列化所有的实例共有属性。
本文主要介绍json序列化。由于数据实体类型较多,我们使用泛型,大大的提高了代码的质量。
引用空间:System.Runtime.Serialization.Json;
public readonly static SerializeHelper Instance = new SerializeHelper(); /// <summary>
/// 将C#数据实体转化为JSON数据
/// </summary>
/// <param name="obj">要转化的数据实体</param>
/// <returns>JSON格式字符串</returns>
public string JsonSerialize<T>(T obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
MemoryStream stream = new MemoryStream();
serializer.WriteObject(stream, obj);
stream.Position = ; StreamReader sr = new StreamReader(stream);
string resultStr = sr.ReadToEnd();
sr.Close();
stream.Close(); return resultStr;
} /// <summary>
/// 将JSON数据转化为C#数据实体
/// </summary>
/// <param name="json">符合JSON格式的字符串</param>
/// <returns>T类型的对象</returns>
public T JsonDeserialize<T>(string json)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(json.ToCharArray()));
T obj = (T)serializer.ReadObject(ms);
ms.Close(); return obj;
}
最新文章
- GDUFE-OJ 1070上班打卡 ^位运算
- 关于Java中的基本数据类型转换
- tomcat虚拟目录映射网络共享目录
- Fort.js – 时尚、现代的表单填写进度提示效果
- 图层的核心动画(CABaseAnimation)
- ligerui_ligerTree_003_配置url参数,加载“树”
- AlphaToCoverage solution
- WPF中的多点触摸事件
- 记一次 Google 面试经历
- java基础知识(二)
- WindowsAPI一日一练
- centos安装svn
- 初学Java Web(4)——Servlet学习总结
- springboot的@CrossOrigin注解解决细粒度的配置跨域
- 【转】python模块导入细节
- WPF程序 双击exe自动申请“以管理员方式运行”权限
- 【刷题】BZOJ 2134 单选错位
- 【漏洞预警】Apache ActiveMQ Fileserver远程代码执行漏洞(CVE-2016-3088)
- vue 报错 Cannot read property &#39;__ob__&#39; of undefined的解决方法
- navicat for mysql 快捷键