当今的程序界Json大行其道。因为Json对象具有简短高效等优势,广受广大C#码农喜爱。这里发一个序列化及反序列化Json对象通用类库,希望对大家有用。

    public class JsonHelper
{
#region 对象类型序列化为json 字符
/// <summary>
/// 对象类型序列化为json 字符
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="jsonObject">待转换实体</param>
/// <param name="encoding">编码格式</param>
/// <returns>string</returns>
public static string ObjectToJson<T>(Object jsonObject, Encoding encoding)
{
string result = String.Empty;
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
serializer.WriteObject(ms, jsonObject);
result = encoding.GetString(ms.ToArray());
}
return result;
}
#endregion #region json字符反序列化为对象
/// <summary>
/// json字符反序列化为对象
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="json">json字符串</param>
/// <param name="encoding">编码格式</param>
/// <returns>T</returns>
public static T JsonToObject<T>(string json, Encoding encoding)
{
T resultObject = default(T);
try
{
resultObject = Activator.CreateInstance<T>();
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(encoding.GetBytes(json)))
{
resultObject = (T)serializer.ReadObject(ms);
}
}
catch { }
return resultObject;
}
#endregion
}

最新文章

  1. AMD and CMD are dead之JS工程化终极解决方案KMD.js版本0.0.1发布
  2. TypeError: &#39;bases&#39; is null or not an object。IE8 bug 腐朽的对象
  3. c++关于析构的那点小事(个人吐槽向
  4. iOS基础篇(十五)——UIScrollView的基本用法
  5. jsp_数据库的连接
  6. JSon_零基础_002_将List类型数组转换为JSon格式的对象字符串,返回给界面
  7. 关于C#正则表达式MatchCollection类的总结,正则表达式的应用
  8. poj 2975 Nim(博弈)
  9. IntelliJ Idea 常用快捷键列表(精简版)
  10. 原创:应用串行NOR闪存提升内存处理能力
  11. Hibernate 配置详解(8)
  12. poj1655 Balancing Act 找树的重心
  13. PAT 团体程序设计天梯赛-练习集 L1-018. 大笨钟
  14. 菜鸟学IT之python网页爬取多页爬取
  15. 基于Python的Webservice开发(一)-简介
  16. .NET CORE学习笔记系列(4)——ASP.NET CORE 程序启用SSL
  17. vs中添加库文件WinMM.Lib
  18. tomcat下部署应用helloworld
  19. nginx-upstream-bio/nio/netty-zuul2-apigateway-openresty-orange-lua-docker
  20. 火狐下,td 的 bug;

热门文章

  1. shell面试题目总结
  2. linq 左连接
  3. 导入excel2007文件问题
  4. chrome新版安装flash控件失败解决方法
  5. __attribute__
  6. RabbitMQ模拟器使用方法
  7. lua拾遗之lua中冒号(:)与点号(.)的区别和来由
  8. Spring jar下载地址:
  9. Mvc4中使用Spring.Net实现IOC和DI
  10. 分布式入门之1:Lease机制