JSON序列化和反序列化
2024-10-10 02:17:04
public class JSONHelper
{
public static string Serialize<T>(T obj)//序列化为JSON
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, obj);
string retVal = Encoding.Default.GetString(ms.ToArray());
return retVal;
} public static T Deserialize<T>(string json)//反序列化为对象
{
T obj = Activator.CreateInstance<T>();
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json));
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
obj = (T)serializer.ReadObject(ms);
ms.Close();
return obj;
}
public static List<T> DeserializeToList<T>(string json)//反序列化成泛型
{ JavaScriptSerializer serializer = new JavaScriptSerializer(); List<T> objs = serializer.Deserialize<List<T>>(json); return objs; }
}
JavaScriptSerializer 需添加system.web.Extensions引用
最新文章
- C#/ASP.NET MVC微信公众号接口开发之从零开发(四) 微信自定义菜单(附源码)
- 【GoLang】golang 交叉编译 实现&;工具
- hdu3652
- WorldChat.lua --世界聊天
- BZOJ 4726: [POI2017]Sabota? 树形dp
- jmeter 构建一个LDAP测试计划
- 130712周赛(CF)
- GuessNum
- if (!floor) 小明.跳楼(); 请问小明会在哪些楼层跳楼?
- 如何将windows版的vim界面语言(默认为中文)设置成英文
- ubuntu 常用命令记录
- AdaBoost入门
- 文件访问时间简记(Modify time 和 Change time)
- HDU 1435 Stable Match 【稳定婚姻问题】
- CSS 简介 4
- JAVA中实现单例(Singleton)模式的八种方式
- Facebook的bigpipe
- 关于linux中用vi新建立一个.c文件无法保存,显示E212错误的时候
- 十七、Spring框架(IOC/DI)
- Format Conditions按条件显示表格记录