.net JsonHelper json帮助类
2024-09-05 21:37:54
using Newtonsoft.Json;
using System.Runtime.Serialization.Json;
using System.Text; public class JsonHelper
{
/// <summary>
/// 生成Json格式
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <returns></returns>
public static string GetJson<T>(T obj)
{
DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType());
using (MemoryStream stream = new MemoryStream())
{
json.WriteObject(stream, obj);
string szJson = Encoding.UTF8.GetString(stream.ToArray()); return szJson;
}
}
/// <summary>
/// 获取Json的Model
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="szJson"></param>
/// <returns></returns>
public static T ParseFromJson<T>(string szJson)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
} /// <summary>
/// 解析JSON数组生成对象实体集合
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="json">json数组字符串(eg.[{"ID":"1","Name":"lttr"}])</param>
/// <returns>对象实体集合</returns>
public static List<T> DeserializeJsonToList<T>(string json) where T : class
{
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;
}
}
最新文章
- 【FLUENT案例】03:冲蚀
- python3 黑板客爬虫闯关游戏(三)
- HTML和CSS经典布局1
- 东大OJ-1544: GG的战争法则
- 做bbs论坛项目的收获(1)
- 无法创建链接服务器 ";(null)"; 的 OLE DB 访问接口 ";Microsoft.Ace.OLEDB.12.0"; 的实例。
- 【Stage3D学习笔记续】山寨Starling(六):动画实现和测试
- 从 mian 函数开始一步一步分析 nginx 执行流程(一)
- 原来你们是这种key-value存储
- c++读取ccbi
- 创建keystone的catalog时提示:‘Internal Server Error (HTTP 500)’
- 超简单的js评价小星星
- java中继承和组合的区别
- CSS组件
- SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法
- Linux中安装硬盘后对硬盘的分区以及挂载
- [转]关于oracle sql语句查询时表名和字段名要加双引号的问题
- Centos6下zookeeper集群部署记录
- const typedef 和指针的问题(这里必须初始化的才初始化了,不必须的则没有初始化)
- FZU 2277 Change(dfs序+树状数组)
热门文章
- 【alpha】Scrum站立会议第2次....10.17
- 重载和const参数
- Unsupported major.minor version 52.
- Java字符串2
- [OS] 操作系统-进程线程-经典面试笔试题
- 【Windows】Windows服务管家婆之Service Control Manager
- [51nod1325]两棵树的问题
- [洛谷P2495][SDOI2011]消耗战
- 【以前的空间】BIT的两个小小运用
- POJ3977:Subset——题解(三分+折半搜索)