2015-12-22 173 views
0

我目前已連接到Spotify sdk,我目前正在尋找能夠讓用戶搜索曲目並返回曲目編號。我跟着sdk指南來跟蹤歌曲,並將響應作爲JSON響應得到,但是當我嘗試在android中根據字符串響應創建JSONArray時,它告訴我無法創建JSONArray。我目前得到的迴應是這樣的Spotify Android SDK搜索曲目號碼

{ 
    "info": { 
    "num_results": 601, 
    "limit": 100, 
    "offset": 0, 
    "query": "what do you mean", 
    "type": "track", 
    "page": 1 
    }, 
    "tracks": [ 
    { 
     "album": { 
     "released": "2015", 
     "href": "spotify:album:7fZH0aUAjY3ay25obOUf2a", 
     "name": "Purpose (Deluxe)", 
     "availability": { 
      "territories": "AD AR AT AU BE BG BO BR CH CL CO CR CY CZ DE DK DO EC EE ES FI FR GB GR GT HK HN HR HU IE IS IT LI LT LU LV MC MT NI NL NO NZ PA PE PH PL PT PY RO SE SI SK SV TR TW UY" 
     } 
     }, 
     "name": "What Do You Mean?", 
     "popularity": "0.97", 
     "external-ids": [ 
     { 
      "type": "isrc", 
      "id": "USUM71511919" 
     } 
     ], 
     "length": 205.68, 
     "href": "spotify:track:3pzjHKrQSvXGHQ98dx18HI", 
     "artists": [ 
     { 
      "href": "spotify:artist:1uNFoZAHBGtllmzznpCI3s", 
      "name": "Justin Bieber" 
     } 
     ], 
     "track-number": "3" 
    }, 
    { 
     "album": { 
     "released": "2015", 
     "href": "spotify:album:6Fr2rQkZ383FcMqFyT7yPr", 
     "name": "Purpose (Deluxe)", 
     "availability": { 
      "territories": "CA MX US" 
     } 
     }, 
     "name": "What Do You Mean?", 
     "popularity": "0.93", 
     "external-ids": [ 
     { 
      "type": "isrc", 
      "id": "USUM71511919" 
     } 
     ], 
     "length": 205.68, 
     "href": "spotify:track:4B0JvthVoAAuygILe3n4Bs", 
     "artists": [ 
     { 
      "href": "spotify:artist:1uNFoZAHBGtllmzznpCI3s", 
      "name": "Justin Bieber" 
     } 
     ], 
     "track-number": "3" 
    }, 
    { 
     "album": { 
     "released": "2015", 
     "href": "spotify:album:2hL8vuRtlo75Wr9PyZI5Jb", 
     "name": "What Do You Mean?", 
     "availability": { 
      "territories": "" 
     } 
     }, 
     "name": "What Do You Mean?", 
     "popularity": "0.87", 
     "external-ids": [ 
     { 
      "type": "isrc", 
      "id": "USUM71511919" 
     } 
     ], 
     "length": 207.546, 
     "href": "spotify:track:1ds2QsfhAAfRiaFMGDzrdb", 
     "artists": [ 
     { 
      "href": "spotify:artist:1uNFoZAHBGtllmzznpCI3s", 
      "name": "Justin Bieber" 
     } 
     ], 
     "track-number": "1" 
    }, 
    { 
     "album": { 
     "released": "2015", 
     "href": "spotify:album:7fZH0aUAjY3ay25obOUf2a", 
     "name": "Purpose (Deluxe)", 
     "availability": { 
      "territories": "AD AR AT AU BE BG BO BR CH CL CO CR CY CZ DE DK DO EC EE ES FI FR GB GR GT HK HN HR HU IE IS IT LI LT LU LV MC MT NI NL NO NZ PA PE PH PL PT PY RO SE SI SK SV TR TW UY" 
     } 
     }, 
     "name": "What Do You Mean? - Acoustic", 
     "popularity": "0.85", 
     "external-ids": [ 
     { 
      "type": "isrc", 
      "id": "USUM71516855" 
     } 
     ], 
     "length": 203.8, 
     "href": "spotify:track:5bldrrpdHrTeaWNT1Kp5xs", 
     "artists": [ 
     { 
      "href": "spotify:artist:1uNFoZAHBGtllmzznpCI3s", 
      "name": "Justin Bieber" 
     } 
     ], 
     "track-number": "19" 
    }, 
    { 
     "album": { 
     "released": "2015", 
     "href": "spotify:album:6Fr2rQkZ383FcMqFyT7yPr", 
     "name": "Purpose (Deluxe)", 
     "availability": { 
      "territories": "CA MX US" 
     } 

和我的Android代碼看起來像這樣

try { 
      response = httpClient.execute(httpPost); 
      responseBody = EntityUtils.toString(response.getEntity()); 
      try { 
       jsonArray = new JSONArray(responseBody); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

感謝您的幫助提前 〜Rockyfish

+0

你需要首先檢索JSONObject而不是JSONArray然後去JSONArray「跟蹤」 – Nisarg

回答

0

執行此

JSONObject jObj; 
try { 
     jObj = new JSONObject(responseBody); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    }