我试图遍历json文件的对象数组以访问其变量的键和值,并使用jquery的getjson和每个列表将它们附加到列表项。
我认为解决方案应该类似于本文中的解决方案...但我似乎无法使其工作并显示结果......任何帮助都将非常感谢!
Jquery, looping over a json array
$.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...
答案 0 :(得分:12)
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 :data
和obj
不是jQuery对象,它们只是普通对象。为此,您需要使用$.each
与$().each
进行比较。
$.getJSON('data/file.json', function(data){
$.each(data, function(idx, obj){
$.each(obj, function(key, value){
console.log(key + ": " + value);
});
});
});
答案 1 :(得分:0)
$.getJSON('data/file.json', function(data){
$.each(data,function(idx, obj){
$.each(obj, function(key, value){
console.log(key + ": " + value);
});
});
});
答案 2 :(得分:-1)
代码有多个语法错误。例如,在http://www.jslint.com/上查看。