using System.Web.Script.Serialization;
namespace test
{
/// <summary>
/// 关于json的操作
/// </summary>
public class Json
{
/// <summary>
/// 用于生成适用于easyui datagrid的可识别json结构
/// </summary>
public class EDataGridTable
{
private int total { get; set; }
private DataTable rows { get; set; }
public EDataGridTable(int total, DataTable rows)
{
this.total = total;
this.rows = rows;
}
/// <summary>
/// 将EDataGridTable转化为easyui grid可以识别的json结构
/// </summary>
/// <returns></returns>
public string ToJson()
{
return "{ \"total\":\"" + total + "\",\"rows\":" + DataTableToJson(rows) + "}";
}
}
/// <summary>
/// 将Datable转化为json
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static string DataTableToJson(DataTable dt)
{
List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
foreach (DataRow dr in dt.Rows)
{
Dictionary<string, object> result = new Dictionary<string, object>();
foreach (DataColumn dc in dt.Columns)
{
result.Add(dc.ColumnName, dr[dc]);
}
list.Add(result);
}
JavaScriptSerializer serialize = new JavaScriptSerializer();
//serialize.RecursionLimit = recursionLimit;
return serialize.Serialize(list); //亮点是可以解决特殊字符问题
}
}
}