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程序设计有所帮助。