2016-11-06 34 views
0

我有这样的JSON:访问JSON数据 - 不确定

{ 
"total": 1, 
"per_page": "10", 
"current_page": 1, 
"last_page": 1, 
"next_page_url": null, 
"prev_page_url": null, 
"from": 1, 
"to": 1, 
"data": [ 
    { 
     "id": 2, 
     "name": "Artista di prova", 
     "artist_hash": "Gqrrx6NrtqqMpvEN", 
     "spotify_followers": null, 
     "spotify_popularity": 66, 
     "image_small": null, 
     "image_large": null, 
     "fully_scraped": 0, 
     "updated_at": "2016-11-06 08:21:02", 
     "bio": "", 
     "wiki_image_large": null, 
     "wiki_image_small": null, 
     "tracks": [ 
      { 
       "id": 1, 
       "name": "Traccia di prova", 
       "album_name": "Album di prova", 
       "number": 1, 
       "duration": 18133, 
       "artists": [ 
        "Artista di prova" 
       ], 
       "youtube_id": null, 
       "spotify_popularity": 50, 
       "album_id": 1, 
       "temp_id": null, 
       "url": "http://myapp.app/track/1/mov/stream", 
       "artist_id": 2 
      }, 
      { 
       "id": 3, 
       "name": "Traccia di prova 2", 
       "album_name": "Album di prova", 
       "number": 1, 
       "duration": 18133, 
       "artists": [ 
        "Artista di prova" 
       ], 
       "youtube_id": null, 
       "spotify_popularity": 50, 
       "album_id": 1, 
       "temp_id": null, 
       "url": "http://myapp.app/track/1/mov/stream", 
       "artist_id": 2 
      } 
     ] 
    } 
] 

}

我需要访问到tracks场,并得到所有数据。
我试着用:

$http.get('artist', {params:params}).success(function(response) { 
      $scope.items = response.data; 
      $scope.tracks = response.data.tracks; 

      console.log($scope.tracks); 


     }) 
    }; 

,但我得到undefined

如何访问tracks字段?响应

+0

使用'response.data [0] .tracks' –

回答

1

data属性是一个数组,所以你需要通过索引来访问它:

response.data[0].tracks; 
+1

太简单了...谢谢 –

0

记住tracks是对象的数组,也请记住,它坐落在data关键,这也是实现数组。天真的方式是获取每个数据与它们各自的索引,例如: response.data[0].tracks[anotherIndex]可以获取数组中的一个对象,并使用response.data[0].tracks来记录数组。 但是,在真实世界的场景中,您可能需要适当地遍历datatracks并在您的组件上呈现它们的值。