我正在开发一个映射工具,我正在使用jQuery从服务器下载JSON数据。目前jquery的代码是:
$.getJSON("start.json", function(data) {
var items = [];
$.each(data, function(key, val) {
alert("data: " + key + "->" + val);
});
});
json文件如下所示:
{
"type" : "obstacle",
"top" : 20,
"left" : 10,
"height": 50,
"width" : 70,
"tall" : 10
}
现在,“问题”是,正如可以清楚地看到的,在这种格式中,json只能包含一个对象。我如何构建我的文件(以及我的jquery)以拥有多个对象?
提前致谢。
答案 0 :(得分:1)
您可以创建一个JSON对象数组:
[
{
"type" : "obstacle",
"top" : 20,
"left" : 10,
"height": 50,
"width" : 70,
"tall" : 10
} ,
{
"type" : "obstacle",
"top" : 50,
"left" : 10,
"height": 50,
"width" : 20,
"tall" : 10
}
]
编辑:jQuery类似于:
$.each(data, function(index, obstacle))
{
$.each(obstacle, function(key, val) {
alert("data: " + key + "->" + val);
});
}
答案 1 :(得分:0)
您可以使用数组来存储它们:
{
"objects": [
{
"type" : "obstacle",
"top" : 20,
"left" : 10,
"height": 50,
"width" : 70,
"tall" : 10
}, {
"type" : "obstacle",
"top" : 20,
"left" : 10,
"height": 50,
"width" : 70,
"tall" : 10
}, {
"type" : "obstacle",
"top" : 20,
"left" : 10,
"height": 50,
"width" : 70,
"tall" : 10
}
]
}
现在,当您进行迭代时,您可以访问单个对象的属性:
$.each(data.objects, function(key, val) {
console.log(key + ' => ' + val);
});