2016-02-27 38 views
-1

我正在從我的服務器如下回應:轉換的JSONObject陣列爲整數

{"SubjectName":["Irish","Maths","English","Science","Religion","Geography"], 
"SubjectID":[1,2,3,4,5,6]} 

我需要做的就是儘量分開響應分爲兩個獨立的陣列主旨名稱和SubjectID。

以下是我有:

try { 
      jsonArray = jsonObject.getJSONArray("SubjectName"); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     SubjectName = new String[jsonArray.length()]; 
     for (int i = 0; i < jsonArray.length(); i++) 
     { 
      try { 
       SubjectName[i] = jsonArray.getString(i); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 

     try 
     { 
      jsonArray = jsonObject.getJSONArray("SUBJECTID"); 
      Log.v("Worked", "SubjectID is in "); 

     } catch (JSONException e) 
     { 
      Log.v("failed","Not able to retrieve data"); 
      e.printStackTrace(); 
     } 
     SubjectID = new int[jsonArray.length()]; 
     for (int i = 0; i < jsonArray.length(); i++) 
     { 

      try { 
       SubjectID[i] = jsonArray.getInt(i); 
      } catch (JSONException e) 
      { 
       e.printStackTrace(); 


      } 
     } 

絃樂似乎轉換沒有問題,我可以得到的主旨名稱,但SubjectID部分似乎失敗,我不知道爲什麼。我檢查過,我似乎無法找到任何地方,告訴我如何解析jsonaray中的int。

+0

FYI:你不能'轉換數組integer'.it的只是容器沒有數值。但是,您可以嘗試其內容。 –

回答

4

您正在使用錯誤的節點名稱。

更換

jsonArray = jsonObject.getJSONArray("SUBJECTID"); 

jsonArray = jsonObject.getJSONArray("SubjectID"); 
+0

我覺得自己像一個白癡謝謝我正在尋找一個小時 – ecribs

+0

@ecribs不要擔心。它發生在每個人身上。如果適合你,請不要忘記接受它。 – Rohit5k2