一个JSON序列化类,可序列化匿名类型
2011-12-09 17:46
127 查看
/// <summary> /// Json扩展方法类(编译时检查,类型安全) /// </summary> public static class JsonContextExtension { /// <summary> /// 从一个对象信息生成Json串 /// </summary> /// <param name="obj">转换对象</param> /// <typeparam name="T">对象类型</typeparam> /// <returns></returns> public static string ToJson<T>(this T obj) { if (typeof(T).FullName.Contains("<>f__AnonymousType")) { //匿名类型 var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); return serializer.Serialize(obj); } else { var serializer = new DataContractJsonSerializer(typeof(T)); string json = string.Empty; using (MemoryStream stream = new MemoryStream()) { serializer.WriteObject(stream, obj); json = Encoding.UTF8.GetString(stream.ToArray()); stream.Close(); } return json; } } /// <summary> /// 从一个Json串生成对象信息 /// </summary> /// <param name="jsonString">JSON字符串</param> /// <typeparam name="T">对象类型</typeparam> /// <returns></returns> public static T JsonToObject<T>(this string jsonString) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString))) { var jsonobj = (T)serializer.ReadObject(stream); stream.Close(); return jsonobj; } } }
相关文章推荐
- Newtonsoft.Json序列化DateTime类型数据为字符串时候,带了一个T
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- EF 序列化实体为Json时的循环引用问题(不用自己写实体,不用匿名类型,不用EF的上下文属性)
- JSON序列化与反序列化匿名类型
- Fastjson反序列化泛型类型时候的一个问题
- fastJson如何序列化一个包含list对象的Map对象,如Map<String,List<T>>类型的对象
- 用js解析经json序列化后的C#的DateTime类型数据
- Struts2如何返回一个JSON类型的字符串
- json-lib反序列化时(JSONObject.toBean),时间类型为空的处理方法
- 关于数据序列化(5),定制FastJSON序列化(解决Java大Long类型js的Number接收丢失数据的问题,不序列化某些属性)
- Json序列化,date类型转换后前端显示错误的解决方案
- fastjson反序列化一个字段有多个set方法时的问题
- 使用json序列化类型为“ajax学习.DataSetComment+T_CommentDataTable”的对象时检测到循环引用。
- 提取TP的一个格式化为json的针对的原始类型函数
- Newtonsoft.Json 转换DateTime类型为字符串时,串内部会有一个T。解决方案
- C# 匿名类型序列化、反序列化
- Entity Framework 6 Recipes 2nd Edition(11-5)译 -> 从”模型定义”函数返回一个匿名类型
- 用js解析经json序列化后的C#的DateTime类型数据
- sql里面写序列化到一个字段 +数据类型转换函数cast的使用
- JSON序列化与反序列化一个字典