2015-10-17 4 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]] 
      } 
      ] 
} 

Теперь мне нужно, чтобы получить значение «Microsoft» из 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, как [[ "Microsoft", "Global Head", "", "", 1]]. Постарайтесь, как действовать дальше, чтобы получить значение Microsoft.

ответ

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)); 
      } 
     } 
    } 
} 
Смежные вопросы