所以我正在做的是我从一个由ajax函数调用的php文件中回显一个多维数组。
这是php文件中的数组:
Array
(
[0] => Array
(
[username] => klara
[lev] => 0
)
[1] => Array
(
[username] => mira
[lev] => 0
)
[2] => Array
(
[username] => coursera
[lev] => 0
)
[3] => Array
(
[username] => chang
[lev] => 2
)
[4] => Array
(
[username] => jack
[lev] => 3
)
[5] => Array
(
[username] => elon
[lev] => 4
)
[6] => Array
(
[username] => musk
[lev] => 7
)
)
我的Ajax成功函数如下所示:
success: function (response)
{
alert("response="+response);
var array_length = Object.keys(response).length;
alert("array length="+array_length);
alert("response[0][0]="+response[0][0]);
}
所以输出如下:
response=[{"username":"klara","lev":0},{"username":"mira","lev":0},{"username":"coursera","lev":0},{"username":"chang","lev":2},{"username":"jack","lev":3},{"username":"elon","lev":4},{"username":"musk","lev":7}]
array length=204
response[0][0]=[
所以发生的事情是“数组长度”是获取响应的长度而不是行数,如果我放置一个for循环并尝试提取元素,则它会提取响应中的每个字符。 / p>
那么我应该如何获得响应中的行数以及如何获取username的值。也就是说,我希望将行数设为7并提取名称“klara”,“mira”等。我该怎么办?我真的很新,所以任何帮助都会受到赞赏。非常感谢!
非常感谢! :)
答案 0 :(得分:0)
使用JSON.parse将字符串转换为JSON对象。
response = JSON.parse(response)
alert("response="+response);
var array_length = Object.keys(response).length;
alert("array length="+array_length);
alert("response[0][0]="+response[0][0]);