Json获取后台传递过来的参数分解
不知道是不是JSON数组有问题,我现在后台传送过来的数据格式为:
"{'userame':[{'username':王国军','names':'王先生'}]}"
前台的JS,JSON获取方式为:
var listLineMen = eval("("+data+")");
var listLineMenHtml = "";
alert( listLineMen);
for (var i = 0; i < listLineMen.length; i++) {
listLineMenHtml = listLineMenHtml + "<a href='javascript:;' v='" + listLineMen[i].username + "'>" + listLineMen[i].names + "</a>";
}
$("#priceLinkMenNex").html(listLineMenHtml);
alert( listLineMen)处能够获取到后台传来的数据,但是listLineMen[i].username 和listLineMen[i].names处提示:undefined
我感觉是数据格式有问题,因为这段代码我是从别人那边抄过来的,正常的。如果是数据格式有问题,那么根据上面这个代码,这个数据的格式应该是什么样的?
------解决方案--------------------alert(listLineMen.userame[0])
------解决方案--------------------json格式有问题!
{
"userame": [
{
"username": "王国军",
"names": "王先生"
}
]
}
------解决方案--------------------"[{'username':王国军','names':'王先生'}]"
------解决方案--------------------
alert(listLineMen.userame.username+","+listLineMen.userame.names)
------解决方案--------------------json 格式有问题
将左右两边的"符号去掉 ,并且 "王国军" 前面少一个'符号
"{'userame':[{'username':王国军','names':'王先生'}]}"
修改后为
{'userame':[{'username':'王国军','names':'王先生'}]}
然后再 var listLineMen = eval("("+data+")");
代码也有问题
listLineMen 为对象,并不是数组,所以在循环中不能用 listLineMen.length 而应该用listLineMen.userame.length
修改后如下:
var listLineMen = eval("("+data+")");
var listLineMenHtml = "";
alert( listLineMen);
for (var i = 0; i < listLineMen.userame.length; i++) {