一尘不染

用jQuery循环遍历JSON对象数组

json

我试图遍历一个json文件的对象数组以访问其变量的键和值,并使用jquery的getjson及其每个将它们附加到列表项。

我认为该解决方案应该与本文中的解决方案类似…但是我似乎无法使其完全发挥作用并显示结果…非常感谢您的帮助!

$.getJSON('data/file.json', function(data)
 { 
   var data = [];
   $(data).each(function(idx, obj)
    { 
     $(obj).each(function(key, value)
      {console.log(key + ": " + value);}
     }
   }
);

json数据的格式如下:

[{
    "name": "Name",
    "street_address1": "XYZ Road",
    "street_address2": null,
    "city": "New York",
    "zip": 10038,
    "phone": 2122222222 ", 
    "description ": "About xyz..."
 }, 
 { next listing... }]

并且html的格式应如下所示:

 Name: Name

 Address: XYZ Road
          Floor #2
          City, State 10001

 Description: About xyz...

阅读 258

收藏
2020-07-27

共1个答案

一尘不染

var data = [];

您要替换data为空白数组,从而在运行时破坏数据。删除此行,它应该工作。

编辑 :您的代码中还有一些语法错误。您需要在每个each语句之后关闭括号。它看起来应该像这样:

$.getJSON('data/file.json', function(data){ 
    $(data).each(function(idx, obj){ 
        $(obj).each(function(key, value){
            console.log(key + ": " + value);
        });
    });
});

编辑2
dataobj不是jQuery的对象,他们只是普通的对象。您需要为此使用$.each比较$().each

$.getJSON('data/file.json', function(data){ 
    $.each(data, function(idx, obj){ 
        $.each(obj, function(key, value){
            console.log(key + ": " + value);
        });
    });
});
2020-07-27