国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net JSONHelper JSON幫助類

2020-01-18 00:59:12
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

/**************************************************
* 版權所有: Mr_Sheng
* 文 件 名: JSONHelper.cs
* 文件描述:
* 類型說明: JSONHelper JSON幫助類
* 授權聲明:
* 本程序為自由軟件;
* 您可依據自由軟件基金會所發表的GPL v3授權條款,對本程序再次發布和/或修改;
* 本程序是基于使用目的而加以發布,然而不負任何擔保責任;
* 亦無對適售性或特定目的適用性所為的默示性擔保。
* 詳情請參照GNU通用公共授權 v3(參見license.txt文件)。
* 版本歷史:
* v2.0.0 Mr_Sheng 2009-09-09 修改
***************************************************/
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Script.Serialization;
using System.Data;
namespace Sheng.Common
{
/// <summary>
/// JSON幫助類
/// </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("JSONHelper.ObjectToJSON(): " + 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("JSONHelper.JSONToObject(): " + 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);
}
}
}

System.Web.Script.Serialization命名空間是.Net 3.5新添加的.
如果要在3.5以下版本中使用,可以下載3.5中的System.Web.Extensions.dll 引入到自己的應用中.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和平区| 上林县| 宁阳县| 泰来县| 无棣县| 紫阳县| 怀安县| 义乌市| 定南县| 梁河县| 瓮安县| 九龙县| 资中县| 江西省| 邵阳市| 鄄城县| 唐山市| 尖扎县| 祁阳县| 青阳县| 青河县| 宜宾市| 合阳县| 清苑县| 永顺县| 建瓯市| 台江县| 米泉市| 江山市| 凉城县| 阿鲁科尔沁旗| 临桂县| 邓州市| 乐安县| 辽阳市| 田阳县| 陇川县| 化州市| 铜鼓县| 兴隆县| 岳普湖县|