2015-05-07 45 views
1

我正在編寫一個本機Android應用程序,使用PHP MYSQL從服務器獲取數據使用GET請求。 服務器發送我的方式,結果如下:如何在Android的列表視圖中顯示數據從發送多維數組的服務器

{ 
"result": true, 
"error_message": "", 
"response": [ 
    { 
     "total_tasks": 8, 
     "tasks": [ 
      { 
       "id": 8, 
       "name": "Hello Christine, call Mr. Dejan Mandic" 
      }, 
      { 
       "id": 7, 
       "name": "Hello Christine, call Ms. Charente Douglas-Smith" 
      }, 
      { 
       "id": 6, 
       "name": "Hello Christine, call Mrs. Alison Marshall" 
      }, 
      { 
       "id": 5, 
       "name": "Hello Christine, call Mrs. Muna Crisp" 
      }, 
      { 
       "id": 4, 
       "name": "Hello Christine, call Mr. Victor Crisp" 
      }, 
      { 
       "id": 3, 
       "name": "Hello Christine, call Mrs. Kathy Dunn" 
      }, 
      { 
       "id": 2, 
       "name": "Hello Christine, call Mr. Peter Dunn" 
      }, 
      { 
       "id": 1, 
       "name": "Hello Christine, call Ms. Vanessa Allen" 
      } 
     ] 
    } 
] 

}

我需要顯示從陣列中的數據「階躍響應」 - 在>「任務」(即ID和名稱)我的列表視圖在Android中,最終當用戶在ListView中的特定行中單擊時,有關該任務的信息將顯示在使用該ID的另一個活動中。由於服務器正在發送多維數組中的數據,因此我在ListView中獲取數據時遇到問題。 如果有人能夠幫助我,這將是一個很大的幫助。 謝謝:)

回答

1
JSONObject responseObject = new JSONObject(responseString); 
boolean resultSuccess = responseObject.getBoolean("result"); 
if(resultSuccess) { 
    JSONArray responseArray = responseObject.getJSONArray("response"); 
    JSONObject firstResponse = responseArray.getJSONObject(0); 
    JSONArray tasks = firstResponse.getJSONArray("tasks"); 
    for(int i = 0; i < tasks.length(); i++){ 
     JSONObject task = tasks.getJSONObject(i); 
     int id = task.getInt("id"); 
     String name= task.getString("name"); 
    } 
} 

你只需要通過樹導航至您解析JSON雖然我對你的JSON樹一些評論

  1. 爲什麼你的反應作爲一個數組?這只是一個對象 對不對?
  2. 任務數量是您已經擁有任務的冗餘數據,並且可以從中推斷出長度。
+0

是的,它完全爲我工作..只是改變了responseArray.getJSONObject(i).. :) – Christine

相關問題