0

我正在尝试以"attributes"这些 json 格式获取数据,但我总是得到undefined

{ "data": [ 
   { "attributes":     
      {
         "id":"4977",
         "book_id":"651284829",
         "provider_id":"1",
         "title":"\u96e8\u8272\u30b3\u30b3\u30a2",
         "author":"IAM, K.K.",
         "price":"170.00",
         "rating":"4"
      },
      ...
   }
}

这是我的代码,它总是返回undefined

for ( var obj in json.data) {
    var att = obj.attributes;
    html += "<p>" + att.author + "</p>";
}
4

1 回答 1

2

您正在迭代 的属性的键,而json.data不是这些属性的值。

改变

var att = obj.attributes;

var att = json.data[obj].attributes;

为了更清楚,可以使用不同的名称:

for (var key in json.data) {
    var obj = json.data[key];
    var att = obj.attributes;
    html += "<p>" + att.author + "</p>";
}
于 2013-06-24T08:52:58.023 回答