日期:2014-05-17  浏览次数:20784 次

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':'王先生'}]"

------解决方案--------------------
引用:
不知道是不是JSON数组有问题,我现在后台传送过来的数据格式为:

XML/HTML code?1"{'userame':[{'username':王国军','names':'王先生'}]}" 

前台的JS,JSON获取方式为:

Java code?1234567     var listLineMen = eval("("+data+")");     ……

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++) {