javascript - 在 JSON 文件中获取第一级数据时面临问题

标签 javascript jquery json

我有一个名为 movie.json 的外部 JSON 文件,格式如下

{
    "action":
        [
            { "id": "1001", "name": "Matrix" },
            { "id": "1002", "name": "IP Man" },
            { "id": "1003", "name": "Revenge" }
        ],
    "comedy":
        [
            { "id": "2001", "type": "Iceman" },
            { "id": "2002", "type": "Pat & Mat" },
            { "id": "2003", "type": "Sugar" }
             ],
    "animation":
        [
            { "id": "3001", "type": "Frozen" },
            { "id": "3002", "type": "Tangled" },
            { "id": "3003", "type": "Croods" }
             ]

}

在我的 HTML 中,我有一个引导选项卡组件,例如

<ul class="nav nav-tabs" role="tablist">
</ul>

您能否告诉我如何访问上层 JSON 文件( Action 、喜剧、动画,并将它们填充为 .json 中的 li )导航选项卡动态

我已经尝试过

 $.getJSON('data.json', function (data) {
       for (i = 0; i < data.length; i++) { 
             $('.nav-tabs').append('<li role="presentation" ><a href="#'+data[0]+'" aria-controls="'+data[0]+'" role="tab" data-toggle="tab">'+data[0]+'</a></li>')
   }
  });

但它没有完成这项工作。你能让我知道如何解决这个问题吗?谢谢

最佳答案

您可以使用$.each()来迭代数据。 key 为“顶层”,val 为内容

$.getJSON('data.json', function (data) {
   $.each( data, function( key, val ) {
     $('.nav-tabs').append('<li role="presentation" ><a href="#'+key+'" aria-controls="'+key+'" role="tab" data-toggle="tab">'+key+'</a></li>')
  });
});

关于javascript - 在 JSON 文件中获取第一级数据时面临问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43245849/

相关文章:

javascript - 你如何使用 Firebug 检查 javascript 超时?

javascript - Angular2 Input调用两次方法

javascript - 如果元素被隐藏,则忽略 .NET 验证器(显示 : none)

javascript - 在新标签页中打开 iframe 源代码

javascript - 如何在全日历中禁用拖放

json - postgresql文本到json的转换

javascript - 如何读取json并在html中显示

javascript - 包含 <p></p> 标记的字符串呈现为 HTML 内容而不是 DOM 查询中的字符串

jquery - 当 jQuery 的 $(".foo li") 返回一个对象作为结果时,调用的对象的类型到底是什么?

java - HTTP 状态 415 - 无法使用内容类型