我试图以这些json格式获取"attributes"内的数据,但我总是得到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>";
}

最佳答案

您正在遍历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>";
}

关于javascript - 如何在JavaScript中正确获取JSON数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17271477/

10-14 19:21
查看更多