2015-10-17 377 views
0

我在格式的數組jArray:JSONArray解析多維數組

{"users":[ 
      { 
       "user_id":6, 
       "user_name":"Ted Vanderploeg", 
       "email":"[email protected]", 
       "additional_info":[["HP","Chief Sales Officer","","",1]] 
      }, 
      { 
       "user_id":59, 
       "user_name":"Lindsay White", 
       "email":"[email protected]", 
       "additional_info":[["Microsoft","Global Head","","",1]] 
      } 
      ] 
} 

現在我需要從ADDITIONAL_INFO陣列中獲得的價值「微軟」。這就是我想:

for(int i=0;i<jArray.length();i++) { 

    JSONObject jsonObject = new JSONObject(jArray.getString(i)); 
    String workInfo = jsonObject.getString("additional_info"); 
    Log.i("MyActivity", "got work obj as " + workInfo.toString()); 
} 

現在,我得到workInfo如[ 「微軟」, 「全球負責人」, 「」, 「」,1]。陷入如何繼續下一步,以獲得微軟的價值。

回答

1

它看起來像一個JSONArray內JSONArray

for(int i=0;i<jArray.length();i++) { 
JSONObject jsonObject = new JSONObject(jArray.getString(i)); 
JSONArray workinfo = jsonObject.optJSONArray("additional_info"); 
    if (workinfo != null) { 
     for(int j=0;j<workinfo.length();j++) { 
      JSONArray values = workinfo.optJSONArray(j); 
      for(int z=0;z<values.length();z++) { 
        Log.i("MyActivity", "got work obj as " + values.optString(z)); 
      } 
     } 
    } 
}