我从服务器收到 JSON 响应,并且必须在 javascript 中循环遍历数组并获取值。但我似乎无法循环遍历它。
数组的 JSON 响应如下所示:
{
"1": "Schools",
"20": "Profiles",
"31": "Statistics",
"44": "Messages",
"50": "Contacts"
}
我只想循环遍历它以获取 ID 和名称并在页面上填充一些值。
我努力了:
$.each(response, function(key, value) {
alert(key + ' ' + value);
});
// and
for (var key in response) {
alert(key + ' ' + response[key]);
}
但两者都没有给出正确的值。
预先感谢您的任何帮助。
回复:
你好,
我在第二个循环中得到的响应是:
0 {
1 "
2 1
3 "
4 :
5 "
6 S
etc etc
因此,这意味着它将整个响应作为字符串进行处理,并将其拆分为键/值。
Thanks
您的问题是您没有解析 JSON 字符串。因此,您的 foreach 将遍历 JSON 字符串中的字符。
// If you are using jQuery.ajax, you can just set dataType to 'json'
// and the following line will be done for you
var obj = jQuery.parseJSON( response );
// Now the two will work
$.each(obj, function(key, value) {
alert(key + ' ' + value);
});
for (var key in obj) {
alert(key + ' ' + response[key]);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)