json转换工具类
using System;
using System.Collections.Generic;
using System.Text;
using Newtonsoft.Json;
using System.IO;
namespace JiaWel.Utilities.Json
{
public class JsonConvert
{
/// <summary>
/// 将对象序列化为JSON格式
/// </summary>
/// <typeparam name="T">实体类</typeparam>
/// <param name="entity">实体</param>
/// <returns>json字符串</returns>
public string EntityToJson<T>(T entity)
{
try
{
return Newtonsoft.Json.JsonConvert.SerializeObject(entity);
}
catch (Exception)
{
ExceptionHelper.WriteException("EntityToJson<T>", "");
throw;
}
}
/// <summary>
/// 解析JSON字符串生成对象实体
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param>
/// <returns>对象实体</returns>
public T DeserializeJsonToObject<T>(string json) where T : class
{
try
{
JsonSerializer serializer = new JsonSerializer();
StringReader sr = new StringReader(json);
object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));
T t = o as T;
return t;
}
catch (Exception)
{
ExceptionHelper.WriteException("DeserializeJsonToObject<T>", "");
throw;
}
}
/// <summary>
/// 解析JSON数组生成对象实体集合
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="json">json数组字符串(eg.[{"ID":"112","Name":"石子儿"}])</param>
/// <returns>对象实体集合</returns>
public List<T> DeserializeJsonToList<T>(string json) where T : class
{
try
{
JsonSerializer serializer = new JsonSerializer();
StringReader sr = new StringReader(json);
object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List<T>));
List<T> list = o as List<T>;
return list;
}
catch (Exception ex)
{
ExceptionHelper.WriteException("DeserializeJsonToList<T>", "");
throw;
}
}
}
}
最新文章
- Polynomial Library in OpenCascade
- C# Enum,Int,String的互相转换 枚举转换
- cpp 4个类型转换
- .net微信公众号开发——基础接口
- IE9以上 CSS文件因Mime类型不匹配而被忽略 其他浏览器及IE8以下显示正常
- EntLib Unity父类的依赖注入问题
- sql,插入最大值加1
- Ubuntu安装samba服务器
- iOS 8中CLLocationManager及MKMapView showUserLocation失败的解决的方法
- ST-1之乱码bug
- Java生成二维码--QRGen
- Java 线程基本知识
- javaWeb事务
- linux 下修改etc/profile文件
- [Swift]LeetCode291. 单词模式 II $ Word Pattern II
- Collection 接口
- HardNet解读
- [leetcode]40. Combination Sum II组合之和之二
- ElasticSearch权威指南学习(映射和分析)
- Hadoop2源码分析-YARN 的服务库和事件库