2016-11-06 36 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並在您的組件上呈現它們的值。