2016-02-27 39 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