using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Script.Serialization; using System.Data; /************************************************** * 版权所有: * 文 件 名: JSONHelper.cs * 文件描述: * 类型说明: JSONHelper JSON帮助类 * 授权声明: * 本程序为自由软件; * 您可依据自由软件基金会所发表的GPL v3授权条款,对本程序再次发布和/或修改; * 本程序是基于使用目的而加以发布,然而不负任何担保责任; * 亦无对适售性或特定目的适用性所为的默示性担保。 * 详情请参照GNU通用公共授权 v3(参见license.txt文件)。 * 版本历史: * v2.0.0 Sheng 2009-09-09 修改 ***************************************************/ /// <summary> ///JSONHelper 的摘要说明 /// </summary> public class JSONHelper { /// <summary> /// 对象转JSON /// </summary> /// <param name="obj">对象</param> /// <returns>JSON格式的字符串</returns> public static string ObjectToJSON(object obj) { JavaScriptSerializer jss = new JavaScriptSerializer(); try { return jss.Serialize(obj); } catch (Exception ex) { throw new Exception(ex.Message); } } /// <summary> /// 数据表转键值对集合 /// 把DataTable转成 List集合, 存每一行 /// 集合中放的是键值对字典,存每一列 /// </summary> /// <param name="dt">数据表</param> /// <returns>哈希表数组</returns> public static List<Dictionary<string, object>> DataTableToList(DataTable dt) { List<Dictionary<string, object>> list = new List<Dictionary<string, object>>(); foreach (DataRow dr in dt.Rows) { Dictionary<string, object> dic = new Dictionary<string, object>(); foreach (DataColumn dc in dt.Columns) { dic.Add(dc.ColumnName, dr[dc.ColumnName]); } list.Add(dic); } return list; } /// <summary> /// 数据集转键值对数组字典 /// </summary> /// <param name="dataSet">数据集</param> /// <returns>键值对数组字典</returns> public static Dictionary<string, List<Dictionary<string, object>>> DataSetToDic(DataSet ds) { Dictionary<string, List<Dictionary<string, object>>> result = new Dictionary<string, List<Dictionary<string, object>>>(); foreach (DataTable dt in ds.Tables) result.Add(dt.TableName, DataTableToList(dt)); return result; } /// <summary> /// 数据表转JSON /// </summary> /// <param name="dataTable">数据表</param> /// <returns>JSON字符串</returns> public static string DataTableToJSON(DataTable dt) { return ObjectToJSON(DataTableToList(dt)); } /// <summary> /// JSON文本转对象,泛型方法 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="jsonText">JSON文本</param> /// <returns>指定类型的对象</returns> public static T JSONToObject<T>(string jsonText) { JavaScriptSerializer jss = new JavaScriptSerializer(); try { return jss.Deserialize<T>(jsonText); } catch (Exception ex) { throw new Exception(ex.Message); } } /// <summary> /// 将JSON文本转换为数据表数据 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据表字典</returns> public static Dictionary<string, List<Dictionary<string, object>>> TablesDataFromJSON(string jsonText) { return JSONToObject<Dictionary<string, List<Dictionary<string, object>>>>(jsonText); } /// <summary> /// 将JSON文本转换成数据行 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据行的字典</returns> public static Dictionary<string, object> DataRowFromJSON(string jsonText) { return JSONToObject<Dictionary<string, object>>(jsonText); } }

转载于:https://www.cnblogs.com/gdjlc/archive/2009/12/11/2086939.html

JSONHelper JSON帮助类相关推荐

  1. asp.net JSONHelper JSON帮助类

    /************************************************** * 版权所有: Mr_Sheng * 文 件 名: JSONHelper.cs * 文件描述: ...

  2. 【C#公共帮助类】JsonHelper 操作帮助类, 以后再也不用满地找Json了,拿来直接用...

     四个主要操作类:JsonConverter .JsonHelper .JsonSplit .AjaxResult 一.JsonConverter: 自定义查询对象转换动态类.object动态类转换j ...

  3. JsonHelper(Json帮助类)

    1 /// <summary> 2 /// Json帮助类 3 /// </summary> 4 public class JsonHelper 5 { 6 /// <s ...

  4. 用jackson封装的JSON工具类

    package hjp.smart4j.framework.util;import com.fasterxml.jackson.databind.ObjectMapper; import org.sl ...

  5. Json工具类 - JsonUtils.java

    Json工具类,提供Json与对象之间的转换. 源码如下:(点击下载 - JsonUtils.java . gson-2.2.4.jar ) 1 import java.lang.reflect.Ty ...

  6. Code片段 : .properties属性文件操作工具类 JSON工具类

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "贵专" - 泥瓦匠 一.java.util.Properties API ...

  7. gson json和类转换_带有GSON和抽象类的JSON

    gson json和类转换 经过多年使用org.json库在Java中支持JSON数据交换格式后,我已切换到Google Gson . org.json是一个较低层的库,因此您必须创建JSONObje ...

  8. android json字符串转成json对象_C++ 两行代码实现json与类对象互转

    背景与需求 之前写C#的时候,解析json字符串一般使用的是开源的类库Newtonsoft.Json,方法十分简洁,比如: class 一行代码就能将json字符串转为相应的类对象. 最近写C++需要 ...

  9. (转)基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据...

    http://www.cnblogs.com/wuhuacong/p/3669708.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...

最新文章

  1. php mysql int string_mysql查出的 int 型字段都是 string
  2. 1.1.1 从简单的数据类型开始
  3. 如何在Ubuntu上安装GCC编译器
  4. 主成分分析中特征值分解与SVD(奇异值分解)的比较及其相关R语言的实现
  5. mysql 5.6 外键_mysql 5.6外键约束错误;没有发生在5.5
  6. 解决hibernate向mysql插入中文乱码问题
  7. MPMoviePlayerViewController 改良版播放器
  8. 非常好用的卸载软件工具【纯净绿色卸载】
  9. HTML5 弹性布局
  10. GPS测量中涉及的坐标系
  11. ORACLE RAC 11.2.0.4 一节点出现Suspending MMON slave action kewrmrfsa_ for 82800 seconds
  12. Mint-Ui安装及使用办法
  13. 跨平台应用开发进阶(七) :uni-app 自定义 showToast
  14. 6 客户端认证方式 之 client_secret_basic client_secret_post
  15. python中concat的用法_pandas中concat()的用法
  16. 机器学习笔记 - 使用Keras Tuner进行自动化超参数调整
  17. 苹果花了 5000 万美元找特斯拉买电池,它想做什么?
  18. 中国自主研发的USB2.0 HUB芯片,即将发布CH334 和CH335工业级
  19. 计算机图形学--中点椭圆算法原理及代码实现
  20. 自然语言处理(NLP):24基于文本语义的智能问答系统

热门文章

  1. xgboost输出特征重要性排名和权重值
  2. python go rpc_Python RPC 之 gRPC
  3. qt制作位图led点阵_LED显示屏知识详细讲解
  4. android极光推送声音,Android 极光推送JPush---自定义提示音
  5. python做一副54扑克牌发牌_用Python制作4人扑克牌发牌游戏
  6. php过滤style,PHP过滤各种html标签
  7. html5中可用的颜色,jquery – 如何知道HTML5输入类型颜色是否可用作颜色选择器?...
  8. Fixjs——事件回调的this
  9. C++ ------------------------- 文件的复制
  10. 随手记android面试题,synchorinzed的一个面试题