javascript - 如何使用 javascript 遍历这个 json 数组

标签 javascript jquery json loops for-loop

我尝试循环这个 json 但它不起作用。我想循环遍历商店但它不起作用

JSON:

{
    "type": "shops",
    "shops": {
        "1": {
            "id": "1",
            "name": "abcd",
            "open_time": "9AM",
            "closed_time": "9PM"
        },
        "2": {
            "id": "1",
            "name": "efgh",
            "open_time": "9AM",
            "closed_time": "9PM"
        }
    }
}

脚本

$.getJSON( "simple.json", function( json ) {
  console.log( "JSON Data: " + (json) );
    for(var i = 0; i < json.shops.length; i++){

        console.log(json[i].shops.name);

    }
 });

这没有给我任何结果

最佳答案

json.shops 不是一个数组,它是一个对象。您可以使用 for..in 循环或 $.each

使用 $.each

$.getJSON( "simple.json", function( json ) {
  console.log( "JSON Data: " + (json) );
    $.each(json.shops, function(key, shop){
      //key will be "1", "2"...n
        console.log(shop.name, shop.id);
    });
 });

使用 for..in

     for(var shop in json.shops){
        //shop will be "1", "2"...n
        if (json.shops.hasOwnProperty(shop))
            console.log(json.shops[shop].name);
     }

关于javascript - 如何使用 javascript 遍历这个 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32825485/

相关文章:

php - 客户端与服务器端基础知识

javascript - 如何在本地保存重新排序列表的新顺序? (Javascript/Jquery——不可排序插件)

c# - javascript 中相同的 c# 代码是什么?

javascript - 为什么会抛出错误?

javascript - 无法从 JSONArray 对象获取值,我只是 forEach 、 ItemFileReadStore、JSON.parse

javascript - 如果 <select> 选项 = 1 则 runaFunct 否则 runaFifferentFunct?如何?

javascript - 根据浏览器的宽度/高度在页面上自动缩放,就像 firefox 那样 ctr+-

javascript - 结合 jQuery 同位素和延迟加载

javascript - 创建多个函数

javascript - 将变量文件名传递给 grunt.file.read