2013-02-12 82 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