C# JSONHelper之Json转换方法大全
来源:互联网 发布:raysource软件下载 编辑:程序博客网 时间:2024/05/21 17:20
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Script.Serialization;using System.Data;/// <summary> /// JSON帮助类 /// </summary> publicclassJSONHelper{ /// <summary> /// 对象转JSON /// </summary> /// <param name="obj">对象</param> /// <returns>JSON格式的字符串</returns> publicstaticstringObjectToJSON(object obj) { JavaScriptSerializer jss =newJavaScriptSerializer(); try { return jss.Serialize(obj); } catch(Exception ex) { thrownewException("JSONHelper.ObjectToJSON(): "+ ex.Message); } } /// <summary> /// 数据表转键值对集合 www.2cto.com /// 把DataTable转成 List集合, 存每一行 /// 集合中放的是键值对字典,存每一列 /// </summary> /// <param name="dt">数据表</param> /// <returns>哈希表数组</returns> publicstaticList<Dictionary<string,object>>DataTableToList(DataTable dt) { List<Dictionary<string,object>> list =newList<Dictionary<string,object>>(); foreach(DataRow dr in dt.Rows) { Dictionary<string,object> dic =newDictionary<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> publicstaticDictionary<string,List<Dictionary<string,object>>>DataSetToDic(DataSet ds) { Dictionary<string,List<Dictionary<string,object>>> result =newDictionary<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> publicstaticstringDataTableToJSON(DataTable dt) { returnObjectToJSON(DataTableToList(dt)); } /// <summary> /// JSON文本转对象,泛型方法 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="jsonText">JSON文本</param> /// <returns>指定类型的对象</returns> publicstatic T JSONToObject<T>(string jsonText) { JavaScriptSerializer jss =newJavaScriptSerializer(); try { return jss.Deserialize<T>(jsonText); } catch(Exception ex) { thrownewException("JSONHelper.JSONToObject(): "+ ex.Message); } } /// <summary> /// 将JSON文本转换为数据表数据 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据表字典</returns> publicstaticDictionary<string,List<Dictionary<string,object>>>TablesDataFromJSON(string jsonText) { returnJSONToObject<Dictionary<string,List<Dictionary<string,object>>>>(jsonText); } /// <summary> /// 将JSON文本转换成数据行 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据行的字典</returns> publicstaticDictionary<string,object>DataRowFromJSON(string jsonText) { returnJSONToObject<Dictionary<string,object>>(jsonText); }}
0 0
- C# JSONHelper之Json转换方法大全
- C# JsonHelper
- c# jsonhelper
- C# JsonHelper
- C# JsonHelper
- C# JsonHelper
- JSONHelper JSON帮助类
- c# JsonHelper 帮助类
- Json解析工具类JsonHelper
- 【第9篇】通过json-lib去封装的JSON和JAVA的POJO的相互转换JSONHelper.java
- JsonHelper
- JsonHelper
- JsonHelper
- JSONHelper
- JsonHelper
- JsonHelper
- jsonHelper
- JSONHelper
- HTML框架
- 基础知识整理
- 黑马程序员:集合和IO流的结合运用(重点)
- QT QPlainTextEdit 获取某行内容
- Mysql学习笔记<2>数据表SQL
- C# JSONHelper之Json转换方法大全
- Servlet/JSP中的路径,Tomcat部署项目时问题
- Web image 详解(网络图像)
- 位1计算的优化
- Linux环境中gdb调试C++工程基础命令
- MySQL与MongoDB之SQL语法对比
- 格式化显示时间(实例)
- 报表开发,之前世今生
- Java 随机产生16进制数