javascript - 如何循环遍历 json 列表 Ajax/Javascript 中的元素

标签 javascript jquery json ajax parsing

我有一个问题,ajax 可以看到我从 Flask 提供的数据,但当我循环它时它似乎没有在内部解析。目前这是一个 1 项循环,但当数据输入其中时,它会更多。

Json 字符串是:

{ "routers" : {"DNSROOTSERVER": {"os": "4.4.4.4", "name": "DNSROOTSERVER"}}}

所以它理解 data.routers,甚至理解 data.routers.DNSROOTSERVER.name (正如您将在 console.log 中看到的),但是当我在 data.routers 上使用循环时,循环项目显示( el),但当我尝试 el.name 时它似乎失败了,说它是未定义的。 JavaScript 如下:

$(document).ready(function(){
$.ajax({ url: "{{ url_for('.gui_form') }}", dataType: 'json',
    success: function(data, textStatus, xhr){
        console.log(data)
        $(data.routers).each(function(i, el) {
            console.log(el)
            console.log(el.os)
            console.log(data.routers.DNSROOTSERVER.os)
            var listem = "<br>" + el.name;
            $("#routers").append("<li>" + listem + "</li>");
        });
    }
    });
});

我扩展了控制台日志,以便您可以看到数据在那里,以及循环的 el.os 如何未定义,但 data.routers.DNSROOTSERVER.name 干净地显示为 ios:

Object {routers: Object}routers: ObjectDNSROOTSERVER: Objectip: "4.4.4.4"name: "DNSROOTSERVER"os: "ios"__proto__: Object__proto__: Object__proto__: Object
Object {DNSROOTSERVER: Object}DNSROOTSERVER: Objectip: "4.4.4.4"name: "DNSROOTSERVER"os: "ios"__proto__: Object__proto__: Object
undefined
ios

知道我做错了什么吗?

最佳答案

根据您的javascript,json应类似于 { "routers":[ {"os": "4.4.4.4", "name": "DNSROOTSERVER"}]}

关于javascript - 如何循环遍历 json 列表 Ajax/Javascript 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221226/

相关文章:

jquery - 如何将多个值传递回 jQuery AJAX 处理程序?

python - KO : Error when parsing JSON

javascript - Shiny 的 tabPanel 和 Google Analytics

javascript - D3.js - 有条件地将 nest.key() 函数应用于数组元素

c# - Linq 查询 JObject

javascript - 使变量在函数/类中可用

javascript - Chrome 扩展 - 附加代码的事件监听器

javascript - 保持 Logo 位置固定在响应式导航栏上

javascript - 尝试在选择元素发生更改时发出警报消息

jquery - 是否可以在正在运行的 mvc 站点中编辑 css 文件?