2013-02-12 80 views
-1

提取我想提取android系統給定的JSON ARRY,JSON數據在安卓

  [{"Outofserviceday":{"outofservice":"2013-02-22"}}, 
      {"Outofserviceday":{"outofservice":"2013-02-27"}}, 
       {"Outofserviceday":{"outofservice":"2013-02-28"}}] 

我有用於提取JSON數據的代碼像在這種情況下,我們可以給出低於

  [{"Requestcard":{"id":"994","userprofile_id":"14","userprofile_name":"Syed 
       Imran","company_name":"DLF Akruti Park, Hinjewadi, Pune, 
        Maharashtra","sex":"male","travel_date":"2013-02-12"}}] 

使用的代碼

   JSONObject menuObject = json_data.getJSONObject("Requestcard"); 

retrive的JSON boject和由

檢索每個元件
    requestid= menuObject.getString("id"); 

但是在第一種情況下,我們如何識別json數組中的每個Outofserviceday?以及如何提取每個數據?

+0

你解決你的問題outofservice的價值? – Harish 2013-02-19 10:38:12

回答

1

你可以做下面的事情,可以從字符串json數據創建jsonArray,然後可以提取循環左右的json對象。

 String json =" [{\"Outofserviceday\":{\"outofservice\":\"2013-02-22\"}}]"; //json-data which is basically a json array 

     JSONArray jArray = new JSONArray(json);/creating an jsonarray 

     for (int i = 0; i < jArray.length(); i++) { 
      // you can have jsonObject from json array here in the loop 
     } 
+0

我沒有得到確切的答案..... – 2013-02-12 11:10:03

+0

嗨Tamilarasi Sivaraj,我已經有這個代碼,每個jsondata名稱outofservicedayay,如何分開提取這些數據,多數民衆贊成我的問題 – 2013-02-12 11:15:44

1

試試這個:

JSONObject json = new JSONObject(result); 
JSONArray json1= json.getJSONArray("data"); 
if (json1.length()!=0) { 
       for (int i = 0; i < json1.length(); i++) { 

        String name = json1.getJSONObject(i).getString("name"); 

} 
} 
+0

你有它嗎? – 2013-02-12 11:11:40

+0

no yar ..我did notget你 – 2013-02-12 11:57:40

+0

你打印JSONObject在你的logcat? – 2013-02-12 12:54:14

1

隨着下面的代碼的幫助,您可以檢索

JSONArray jArray = new JSONArray(your data); 
for (int i = 0; i < jArray.length(); i++) { 
JSONObject jOutOfServiceDay = jArray.getJSONObject(i); 
JSONObject jobj = jOutOfServiceDay.getJSONObject("Outofserviceday"); 
Log.i("Required data is:", "" + jobj.getString("outofservice")); 
} 
+0

你懂了嗎? – Harish 2013-02-13 05:54:32

+0

嗨哈里什我得到了你的答案,我也試過這一個,但我的問題是有三個JSON對象「Outofservideday」,當我們使用代碼JSONObject jobj = jOutOfServiceDay.getJSONObject(「Outofserviceday」); thre對於獲取這個json對象是一個困惑,因爲所有的名字都是相同的 – 2013-02-13 08:47:17

+0

如果你不想顯示全部3,那麼如果你想知道哪一個顯示,那麼你需要獲得數組的長度,那麼你需要根據索引號得到這些信息。 – Harish 2013-02-13 08:53:41