使用 jQuery 从 JSON 获取对象
Get object from JSON with jQuery
我正在尝试使用 $.getJSON
在我自己的服务器中查询一个 JSON 文件,然后在对象内部循环。到目前为止没问题,然后我有一个 ID,它是我想要 return 的对象的名称,但似乎无法正确:
var id = 301;
var url = "path/to/file.json";
$.getJSON( url, function( json ) {
var items = [];
items = json;
for (var i = 0; i < items.length; i++) {
var item = items[i];
console.log(item);
}
});
这会在控制台中打印以下内容:
现在假设我只想要 return 对象 ==
到 id
这样我就可以像 item.banos
、item.dorms
等那样引用它。
我的第一个方法是
console.log(json.Object.key('301'));
哪个没用
非常感谢任何帮助。
因为您在要检索的对象中有 属性 的名称,所以您可以使用括号表示法。您还可以因此简化代码:
var id = 301;
//$.getJSON("path/to/file.json", function(json) {
// response data from AJAX request:
var json = {
'301': {
banos: 2
},
'302': {
banos: 3
},
'303': {
banos: 4
},
'304': {
banos: 5
},
};
var item = json[id];
console.log(item);
//});
您的回复似乎包含在一个只有一个元素的数组中。
您可以通过方括号动态访问对象属性:
var id = 301;
var url = "path/to/file.json";
$.getJSON(url, function(json) {
console.log(json[0][id].banos);
});
$.each(items,function(n,value){
if(n==301)
alert(value);
});
我正在尝试使用 $.getJSON
在我自己的服务器中查询一个 JSON 文件,然后在对象内部循环。到目前为止没问题,然后我有一个 ID,它是我想要 return 的对象的名称,但似乎无法正确:
var id = 301;
var url = "path/to/file.json";
$.getJSON( url, function( json ) {
var items = [];
items = json;
for (var i = 0; i < items.length; i++) {
var item = items[i];
console.log(item);
}
});
这会在控制台中打印以下内容:
现在假设我只想要 return 对象 ==
到 id
这样我就可以像 item.banos
、item.dorms
等那样引用它。
我的第一个方法是
console.log(json.Object.key('301'));
哪个没用
非常感谢任何帮助。
因为您在要检索的对象中有 属性 的名称,所以您可以使用括号表示法。您还可以因此简化代码:
var id = 301;
//$.getJSON("path/to/file.json", function(json) {
// response data from AJAX request:
var json = {
'301': {
banos: 2
},
'302': {
banos: 3
},
'303': {
banos: 4
},
'304': {
banos: 5
},
};
var item = json[id];
console.log(item);
//});
您的回复似乎包含在一个只有一个元素的数组中。
您可以通过方括号动态访问对象属性:
var id = 301;
var url = "path/to/file.json";
$.getJSON(url, function(json) {
console.log(json[0][id].banos);
});
$.each(items,function(n,value){
if(n==301)
alert(value);
});