我试图遍历一个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...
var data = [];
您要替换data为空白数组,从而在运行时破坏数据。删除此行,它应该工作。
data
编辑 :您的代码中还有一些语法错误。您需要在每个each语句之后关闭括号。它看起来应该像这样:
each
$.getJSON('data/file.json', function(data){ $(data).each(function(idx, obj){ $(obj).each(function(key, value){ console.log(key + ": " + value); }); }); });
编辑2 :data而obj不是jQuery的对象,他们只是普通的对象。您需要为此使用$.each比较$().each。
obj
$.each
$().each
$.getJSON('data/file.json', function(data){ $.each(data, function(idx, obj){ $.each(obj, function(key, value){ console.log(key + ": " + value); }); }); });