asp.net使用DataTable构造Json字符串的方法
本文实例讲述了asp.net使用DataTable构造Json字符串的方法。分享给大家供大家参考,具体如下:
///<summary>
///将datatable转换为json
///</summary>
///<paramname="dtb"></param>
///<returns></returns>
privatestringDtb2Json(DataTabledtb){
JavaScriptSerializerjss=newJavaScriptSerializer();
System.Collections.ArrayListdic=newSystem.Collections.ArrayList();
foreach(DataRowdrindtb.Rows)
{
System.Collections.Generic.Dictionary<string,object>drow=newSystem.Collections.Generic.Dictionary<string,object>();
foreach(DataColumndcindtb.Columns)
{
drow.Add(dc.ColumnName,dr[dc.ColumnName]);
}
dic.Add(drow);
}
//序列化
returnjss.Serialize(dic);
}///<summary>
///构建JSON字符串
///</summary>
///<paramname="dt"></param>
///<returns></returns>
publicstaticstringCreateJsonParameters(DataTabledt)
{
System.Text.StringBuildersb=newSystem.Text.StringBuilder();
if(dt!=null&&dt.Rows.Count>0)
{
sb.Append("[");
for(inti=0;i<dt.Rows.Count;i++)
{
sb.Append("{");
for(intj=0;j<dt.Columns.Count;j++)
{
//如果值不是最后一个则添加逗号分隔
if(j<dt.Columns.Count-1)
{
sb.Append("/""+dt.Columns[j].ColumnName.ToString()+"/":"+"/""+dt.Rows[i][j].ToString()+"/",");
}
//如果值为最后个字符则不添加逗号
elseif(j==dt.Columns.Count-1)
{
sb.Append("/""+dt.Columns[j].ColumnName.ToString()+"/":"+"/""+dt.Rows[i][j].ToString()+"/"");
}
}
//如果为最后一个值的话则不添加逗号
if(i==dt.Rows.Count-1)
{
sb.Append("}");
}
else
{
sb.Append("},");
}
}
sb.Append("]");
returnsb.ToString();
}
else{returnnull;}
}
希望本文所述对大家asp.net程序设计有所帮助。