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

首頁 > 編程 > .NET > 正文

asp.net JSONHelper JSON幫助類

2024-07-10 13:26:53
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


/**************************************************
* 版權所有: 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>對象</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>數據表</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>數據集</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>數據表</param>
/// <returns>JSON字符串</returns>
public static string DataTableToJSON(DataTable dt)
{
return ObjectToJSON(DataTableToList(dt));
}
/// <summary>
/// JSON文本轉對象,泛型方法
/// </summary>
/// <typeparam>類型</typeparam>
/// <param>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>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>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 引入到自己的應用中.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太和县| 屏山县| 海阳市| 黄骅市| 清苑县| 普定县| 克山县| 淄博市| 镇雄县| 叶城县| 胶南市| 长沙市| 莆田市| 扎鲁特旗| 红安县| 芮城县| 金堂县| 巴林右旗| 青岛市| 永新县| 安龙县| 泸西县| 化德县| 青浦区| 定南县| 大方县| 泽库县| 合阳县| 米脂县| 福鼎市| 阿鲁科尔沁旗| 海晏县| 油尖旺区| 合作市| 连平县| 阿拉善左旗| 卓尼县| 临澧县| 信宜市| 桂阳县| 广宗县|