我知道之前已经有人问过这个问题,但我无法让它工作。非常感谢任何帮助。
这是 var obj
的内容:
{
"1": {
"key1": "val",
"key2": "val2"
},
"91": {
"key1": "val",
"key2": "val2"
}
}
我是这样循环的..
$.post("path/to/script.php", {
'param': $('#param').val()
}, function (r) {
var obj = $.parseJSON(r);
$.each(obj, function (k, v) {
//doing some stuff with v.key1,v.key2 etc
});
});
并且在 jQuery 中的某个地方遇到了一个典型的有用的 JS 错误
TypeError: invalid 'in' operand a
最佳答案
该对象是嵌套的,因此您必须嵌套每个
。
var obj = {
"1": {
"key1": "val",
"key2": "val2"
},
"91": {
"key1": "val",
"key2": "val2"
}
};
如果您将 JSON 作为字符串获取,则需要将字符串解析为 JSON。
var r = '{"1": {"key1": "val","key2": "val2"},"91": {"key1": "val","key2": "val2"}}';
var obj = JSON.parse(r);
$.each(obj, function(k, v) {
$.each(v, function(key, value) {
console.log(value);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
演示:https://jsfiddle.net/L09bjjtc/1/
如果您获取 JSON 格式的响应,则可以使用 post 方法的 dataType
选项:
$.post( "test.php", { func: "getNameAndTime" }, function( data ) {
// data is JSON object
// Data processing here
}, "json");
关于javascript - 在 jQuery 中循环 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29752604/