首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#中将dataTable转换为json格式的函数,该怎么解决

2012-02-21 
C#中将dataTable转换为json格式的函数请高手指教C#是否有现成的将dataTable转换为json格式的函数,请知道者

C#中将dataTable转换为json格式的函数
请高手指教C#是否有现成的将dataTable转换为json格式的函数,请知道者尽快答复,很急谢谢!

[解决办法]

C# code
        /// <summary>        /// 将datatable转换为json          /// </summary>        /// <param name="dtb">Dt</param>        /// <returns>JSON字符串</returns>        private string Dtb2Json(DataTable dtb)        {            JavaScriptSerializer jss = new JavaScriptSerializer();            System.Collections.ArrayList dic = new System.Collections.ArrayList();            foreach (DataRow dr in dtb.Rows)            {                System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>();                foreach (DataColumn dc in dtb.Columns)                {                    drow.Add(dc.ColumnName, dr[dc.ColumnName]);                }                dic.Add(drow);            }            //序列化              return jss.Serialize(dic);        }
[解决办法]
public class JsonHelper
{
/// <summary>
/// 生成Json格式
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <returns></returns>
public static string GetJson<T>(T obj)
{
DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType());
using (MemoryStream stream = new MemoryStream())
{
json.WriteObject(stream, obj);
string szJson = Encoding.UTF8.GetString(stream.ToArray());
return szJson;
}
}
/// <summary>
/// 获取Json的Model
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="szJson"></param>
/// <returns></returns>
public static T ParseFromJson<T>(string szJson)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}

[解决办法]
GetJson 将传入 类对象转化成字符串
ParseFromJson 将 josn字符串转化 成 对象

热点排行