JsonHelper(C#)
2016-09-27 00:15
357 查看
/// <summary> /// Json帮助类 /// </summary> public static class JsonHelper { /// <summary> /// 将对象序列化为JSON格式 /// </summary> /// <param name="o">对象</param> /// <returns>json字符串</returns> public static string ToJson(this object o) { string json = JsonConvert.SerializeObject(o); return json; } /// <summary> /// 解析JSON字符串生成对象实体 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param> /// <returns>对象实体</returns> public static T JsonToObject<T>(this string json) where T : class { 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; } /// <summary> /// 解析JSON数组生成对象实体集合 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="json">json数组字符串(eg.[{"ID":"112","Name":"石子儿"}])</param> /// <returns>对象实体集合</returns> public static List<T> JsonToList<T>(this 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; } /// <summary> /// 反序列化JSON到给定的匿名对象. /// </summary> /// <typeparam name="T">匿名对象类型</typeparam> /// <param name="json">json字符串</param> /// <param name="anonymousTypeObject">匿名对象</param> /// <returns>匿名对象</returns> public static T DeserializeAnonymousType<T>(string json, T anonymousTypeObject) { T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject); return t; } /// <summary> /// 获取JSON格式的值,只支持.NET3.5+ /// </summary> /// <param name="input">JSON文本</param> /// <param name="getkey">已知的KEY</param> /// <returns>获取已知KEY的值</returns> public static string getJsonval(string input, string key) { if (string.IsNullOrEmpty(input) || string.IsNullOrEmpty(key)) return string.Empty; JsonSerializer serializer = new JsonSerializer(); StringReader sr = new StringReader(input); Dictionary<string, object> json = serializer.Deserialize(new JsonTextReader(sr), typeof(Dictionary<string, object>)) as Dictionary<string, object>; object value; json.TryGetValue(key, out value); return value as string; } }
相关文章推荐
- jstorm 源码分析汇总
- HTML、CSS、JS
- JavaScript 事件对内存和性能的影响
- 【JSP笔记】第六章 JSP状态管理
- jsp页面title闪烁
- js判断一个数字是否是有穷的
- js判断一个值是否 不是数字
- textillate.js 文字动画
- Javascript-cookie
- javaScript的事件冒泡事件捕获
- 封装的ajax工具函数
- JavaScript 图解思维导图
- js之对象(经典)
- js返回顶部的封装
- js的一些坑,持续增加,学习js应该注意的问题
- 在js中遍历JSON数据
- 关于javascript
- JavaScript
- javascript中的setTimeout方法和setInterval方法
- js之对象