我有一个JSON对象,如下所示:
var data = "{'key1' : 'value1', 'key2' : 'value2'}";
因为它是JSON格式,不需要解析,所以我只想使用$ .each迭代对象,如下所示:
$.each(data, function(index, value) {
alert(index + ": " + value);
});
抛出控制台错误
Uncaught TypeError: Cannot use 'in' operator to search for '37' in {'key1' : 'value1', 'key2' : 'value2'}(…)
我不知道出了什么问题。它是什么?
答案 0 :(得分:3)
您只需将分配给数据变量的值的方式更改为如下所示:
var data = {key1 : 'value1', key2 : 'value2'};
取代
var data = "{'key1' : 'value1', 'key2' : 'value2'}";
答案 1 :(得分:1)
这不是一个有效的json。所以它会引发错误。
$(document).ready(function() {
var data = {};
data.key1 = "value1";
data.key2 = "value2";
$.each(data, function(index, value) {
alert(index + ": " + value);
});
});
答案 2 :(得分:0)
使用此代码:
$.each(JSON.parse(data), function(index, value) {
alert(index + ": " + value);
});