2016-12-15 65 views
-5

我想獲得價值,但沒有得到正確的只有一個數組是爲另一個「沒有價值」的錯誤顯示所以請幫助我如何獲得價值形式不同的數組。 「只有名稱數組中斷和下一個輸出沒有值發現錯誤顯示和應用程序崩潰。」如何從android中獲取這個Json的所有值?

{ 
"project": [{ 

      "name": [{ 
      "sac": "sachin", 
      "sag": "sagar" 
     }] 
}, { 
    "output": " true", 
    "msg1": [{ 
     "emp": "001", 
     "empname": "sachin" 
    }, { 
     "emp": "002", 
     "empname": "sagar" 
    }] 
}, { 
    "output_prg": " true", 
    "msg2": [{ 
     "id": "1", 
     "pr_code": "SD" 
    }, { 
     "id": "002", 
     "pr_code": "SJ" 
    }] 
}] 
} 
+0

你必須根據json數組中的索引來解析它。事情是JSON數組中沒有相同的JSON對象。對於第一個索引,你必須對它進行單獨解析,對於第二個索引,你需要實現單獨的解析器。 – Vishwa

+0

謝謝,但我如何嘗試所有選項,請你給我一些相關的這個json數組的例子。 –

+0

我的建議是使用JSonObject而不是將產品作爲JSonArray。 – Vishwa

回答

0

您可以根據數組的索引來解析響應如果它是0索引,則可以基於JSON解析數據。

在這裏我做了json解析你的迴應。

但JSON響應不標準(即JsonArray的意圖是不是在項目陣列使用,更好地使項目JsonArray爲的JSONObject和每個索引使用JSON鍵指定爲單獨的JSONObject)

JSONArray productArray=jsonObject.getJSONArray("project"); 
      if(productArray.length()>0){ 
       JSONObject nameJson=productArray.getJSONObject(0); 
       JSONArray nameJsonArray=nameJson.getJSONArray("name"); 
       for(int i=0;i<nameJsonArray.length();i++){ 
        JSONObject nameJSonObject=nameJsonArray.getJSONObject(i); 
        String sac=nameJSonObject.getString("sac"); 
        String sag=nameJSonObject.getString("sag"); 
       } 
      } 
      if(productArray.length()>1){ 
       JSONObject outputJSON=productArray.getJSONObject(1); 
       String outputStatus=outputJSON.getString("output"); 
       JSONArray msgArray=outputJSON.getJSONArray("msg1"); 
       for(int i=0;i<msgArray.length();i++){ 
        JSONObject msgJsonObject=msgArray.getJSONObject(i); 
        String empStr=msgJsonObject.getString("emp"); 
        String empNameStr=msgJsonObject.getString("empname"); 
       } 
      } 
      if(productArray.length()>2){ 
       JSONObject outputJSON=productArray.getJSONObject(2); 
       String outputPrgStatus=outputJSON.getString("output_prg"); 
       JSONArray msgArray=outputJSON.getJSONArray("msg2"); 
       for(int i=0;i<msgArray.length();i++){ 
        JSONObject msgJsonObject=msgArray.getJSONObject(i); 
        String idStr=msgJsonObject.getString("id"); 
        String prCodeStr=msgJsonObject.getString("pr_code"); 
       } 
      } 
相關問題