jquery 数据转为json_Jquery 将后台返回的字符串转换成Json格式的数据

这篇博客介绍了如何使用C#将DataTable转换为Json格式的三种方法,并提供了详细的代码示例。最后展示了如何将返回的Json字符串通过eval方法转换为可操作的数据对象。
摘要由CSDN通过智能技术生成

//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);

}

欢迎转载,转载请注明出处,希望帮到更多人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值