2016-11-06 6 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]は配列内に1つのオブジェクトを取得し、response.data[0].tracksは配列を記録します。 実際のシナリオでは、datatracksを適切にループして、それらの値をコンポーネントにレンダリングすることができます。

関連する問題