//code by:博客园-曹永思
第一步:将DataTable转换成 Json格式的数据
方法 一
View Code
///
///DataTable转成Json格式,方法 一///
///
///
public stringDataTableToJson1(DataTable dt)
{#region DataTable To Json Method One
//Json集合数据开始
string autoJson1 = "[";foreach (DataRow dr indt.Rows)
{#region 一组数据
//一组数据开始
autoJson1 += "{";foreach (DataColumn cl indt.Columns)
{//一组键值对
autoJson1 += string.Format("\"{0}\":\"{1}\",", cl.ColumnName, dr[cl.ColumnName]);
}//去掉最后一对键值后面的 逗号 “,”
autoJson1 = autoJson1.Substring(0, autoJson1.Length - 1);//一组数据结束
autoJson1 += "},";#endregion}//去掉最后一组数据后面的 逗号 “,”
autoJson1 = autoJson1.Substring(0, autoJson1.Length - 1);//Json集合数据结束
autoJson1 += "]";#endregion
returnautoJson1;
}
方法二
View Code
///
///DataTable转成Json格式,方法 二///
///
///
public stringDataTableToJson2(DataTable dt)
{#region DataTable To Json Method Two
//Json集合数据开始
string autoJson2 = "[";int rowCount2 = dt.Rows.Count;//数据组数量
int columnCount2 = dt.Columns.Count;//键值对数量
int row2 = 0;foreach (DataRow dr indt.Rows)
{
row2++;#region 一组数据
//一组数据开始
autoJson2 += "{";int column2 = 0;foreach (DataColumn cl indt.Columns)
{
column2++;//一组键值对
autoJson2 += string.Format("\"{0}\":\"{1}\"", cl.ColumnName, dr[cl.ColumnName]);//若不是最后一组键值对,则加逗号以与下一组键值对隔开
if (column2 !=columnCount2)
autoJson2+= ",";
}//一组数据结束
autoJson2 += "}";#endregion
//若不是最后一组数据,则加逗号以与下一组数据隔开
if (row2 !=rowCount2)
autoJson2+= ",";
}//Json集合数据结束
autoJson2 += "]";#endregion
returnautoJson2;
}
方法三
View Code
///
///DataTable转成Json格式,方法 三///
///
///
public stringDataTableToJson3(DataTable dt)
{#region DataTable To Json Method Three
//Json集合数据开始
string autoJson3 = "[";int rowCount3 =dt.Rows.Count;int columnCount3 =dt.Columns.Count;int row3 = 0;for (int r = 0; r < dt.Rows.Count; r++)
{
row3++;#region 一组数据
//一组数据开始
autoJson3 += "{";int column3 = 0;for (int c = 0; c < dt.Columns.Count; c++)
{
column3++;//一组键值对
autoJson3 += string.Format("\"{0}\":\"{1}\"", dt.Columns[c].ColumnName, dt.Rows[r][c]);//若不是最后一组键值对,则加逗号以与下一组键值对隔开
if (column3 !=columnCount3)
autoJson3+= ",";
}//一组数据结束
autoJson3 += "}";#endregion
//若不是最后一组数据,则加逗号以与下一组数据隔开
if (row3 !=rowCount3)
autoJson3+= ",";
}//Json集合数据结束
autoJson3 += "]";#endregion
returnautoJson3;
}
第二步:Eg,返回的字符串数据格式
var backString=
[{"id":"74","xmlname":"constellation","nodeid":"other_2","username":"Anyone","userfaceurl":"http://t2.baidu.com /it/u=2152954466,1933595111","commentcontent":"很好很准 确。","addtime":"2012-8-8 14:23:56"},{"id":"73","xmlname":"constellation","nodeid":"other_2","username":"Anyone","userfaceurl":"http://t2.baidu.com/it/u=2152954466,1933595111","commentcontent":"3324","addtime":"2012-8-8 14:21:56"},{"id":"72","xmlname":"constellation","nodeid":"other_2","username":"Anyone","userfaceurl":"http://t2.baidu.com/it/u=2152954466,1933595111","commentcontent":"rwe","addtime":"2012-8-8 14:21:55"}]
第三步:用eval方法将字符串转换成Json格式数据
var jsonData = eval(backString);
//遍历jsonData:
for (var i = 0; i < jsonData.length; i++) {
alert(jsonData[i].id);
}
欢迎转载,转载请注明出处,希望帮到更多人。