javascript - javascript 中的 Json 响应未正确循环

标签 javascript jquery json

我有一个 JsonResponse,如下所示:

    [{"pk": 1, "fields": {"email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="234a4d454c6350534c57570d404c4e" rel="noreferrer noopener nofollow">[email protected]</a>", "locations": [1], "group_id": "spott", "group_name": "spott"}, "model": "grouping"},
{"pk": 2, "fields": {"email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="90f9fef6ffd0e3e0ffe4e4bef3fffd" rel="noreferrer noopener nofollow">[email protected]</a>", "locations": [1, 2], "group_id": "spottalle", "group_name": "spott alle"}, "model": "grouping"}]

我尝试像这样访问数据:

    for (var key in data) {
            console.log(key)
            console.log(data[key]);
        }

响应是每个字母而不是每个对象。这有点奇怪,在查看了 stackoverflow 上的答案后,我也尝试了其他方法,但总是得到相同的结果。

结果应该是 group_name 和 group_id。有人能帮我吗?预先感谢您

最佳答案

事实上,这是一个数组,因此您可以简单地使用经典的 for 循环来循环它,这是一个示例片段:

    var data = [{"pk": 1, "fields": {"email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="462f2820290635362932326825292b" rel="noreferrer noopener nofollow">[email protected]</a>", "locations": [1], "group_id": "spott", "group_name": "spott"}, "model": "grouping"},
            {"pk": 2, "fields": {"email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ea83848c85aa999a859e9ec4898587" rel="noreferrer noopener nofollow">[email protected]</a>", "locations": [1, 2], "group_id": "spottalle", "group_name": "spott alle"}, "model": "grouping"}];

            for (var i=0; i<data.length; i++) {
               console.log(data[i]); //You will get an object
               console.log(data[i].pk);
            }

在每次迭代中,您将获得一个对象,然后您可以访问它的属性。

编辑:

这取决于这里data的类型,如果它是像你在评论中提到的string,你应该使用JSON.parse(data)解析它; 首先,然后你可以循环它。

否则,如果它是一个数组,您只需直接循环其元素即可。

关于javascript - javascript 中的 Json 响应未正确循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36330203/

相关文章:

javascript - 测试 Promise.all

javascript - 执行多个ajax请求后调用函数

javascript - Angularjs - 从 json 数组中删除搜索到的对象

javascript - 如何获得textarea中的最大数字?

json - 在elasticsearch中将文件转换为base64以进行附件

javascript - 从 JSON 绑定(bind)每个表列(Head)的选择下拉列表,同时将 JSON 数据绑定(bind)到 HTML 表 Jquery

javascript - Firefox Web 控制台已禁用?

javascript - 如何将 Jquery Datatables Ellipsis 渲染器用于模板字段链接按钮?

javascript - 从页面中删除脚本元素及其 Action /事件

javascript - 如何使用 jquery live 对小数求和?