2015-10-17 374 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)); 
      } 
     } 
    } 
}