使用 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.banositem.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);
});