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