usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Linq;usingSystem.Reflection;usingSystem.Text;usingSystem.Web;usingSystem.Web.Script.Serialization;namespaceRole.DAL
{public classJson
{publicJson() { }///
///将datatable数据转换成JSON数据, 字符串拼接写成的///
/// json名称。没发现什么作用
/// 得到的数据表
///
public string DataTableToJson(stringjsonName, DataTable dt)
{
StringBuilder Json= newStringBuilder();
Json.Append("[");if (dt.Rows.Count > 0)
{for (int i = 0; i < dt.Rows.Count; i++)
{
Json.Append("{");for (int j = 0; j < dt.Columns.Count; j++)
{
Json.Append(dt.Columns[j].ColumnName.ToString()+ ":\"" + dt.Rows[i][j].ToString() + "\"");if (j < dt.Columns.Count - 1)
{
Json.Append(",");
}
}
Json.Append("}");if (i < dt.Rows.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]");returnJson.ToString();
}///
///列表数据转换到json数据;字符串拼接写成的,太难///
///
/// json名称。没发现什么作用
///
///
public string ObjectToJson(string jsonName, IListIL)
{
StringBuilder Json= newStringBuilder();
Json.Append("[");if (IL.Count > 0)
{for (int i = 0; i < IL.Count; i++)
{
T obj= Activator.CreateInstance();
Type type=obj.GetType();
PropertyInfo[] pis=type.GetProperties();
Json.Append("{");for (int j = 0; j < pis.Length; j++)
{
Json.Append(pis[j].Name.ToString()+ ":\"" + pis[j].GetValue(IL[i], null) + "\"");if (j < pis.Length - 1)
{
Json.Append(",");
}
}
Json.Append("}");if (i < IL.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]");returnJson.ToString();
}///
///将DataTable转化为自定义JSON数据///
/// 数据表
/// JSON字符串
public static stringDataTableToJson(DataTable dt)
{
StringBuilder JsonString= newStringBuilder();if (dt != null && dt.Rows.Count > 0)
{
List> list = new List>();for (int i = 0; i < dt.Rows.Count; i++)
{
Dictionary dict = new Dictionary();for (int j = 0; j < dt.Columns.Count; j++)
{
dict.Add(dt.Columns[j].ColumnName, dt.Rows[i][j].ToString());
}
list.Add(dict);
}
JavaScriptSerializer jsonSerializer= newJavaScriptSerializer();returnjsonSerializer.Serialize(list);
}else{return "{}";
}
}///
///将datatable转换为json///
/// Dt
/// JSON字符串
public static stringDtb2Json(DataTable dtb)
{
JavaScriptSerializer jss= newJavaScriptSerializer();
System.Collections.ArrayList dic= newSystem.Collections.ArrayList();if (dtb != null && dtb.Rows.Count > 0)
{foreach (DataRow dr indtb.Rows)
{
System.Collections.Generic.Dictionary drow = new System.Collections.Generic.Dictionary();foreach (DataColumn dc indtb.Columns)
{
drow.Add(dc.ColumnName, dr[dc.ColumnName]);
}
dic.Add(drow);
}//序列化
returnjss.Serialize(dic);
}else{return "{}";
}
}
}
}