解析通用ArrayList中存在的JSONArray

时间:2017-03-23 06:21:12

标签: java json arraylist codenameone org.json

我对JSONArray有一些问题,因为我在通用ArrayList中存在JSON数据,但我不知道如何解析json数据并在列表中显示,我使用的是org.json库

下面是我的json数据,它存在于数组列表中:

[{"story":"Gaurav Takte shared a link.","created_time":"2017-02-14T19:08:34+0000","id":"1323317604429735_1307213186040177"},{"story":"Gaurav Takte shared a link.","created_time":"2017-02-02T14:22:50+0000","id":"1323317604429735_1295671703860992"},{"message":"Hurray....... INDIA WON KABBADI WORLD CUP 2016","created_time":"2016-10-22T15:55:04+0000","id":"1323317604429735_1182204335207730"},{"story":"Gaurav Takte updated his profile picture.","created_time":"2016-10-21T05:35:21+0000","id":"1323317604429735_1180682575359906"},{"message":"Friends like all of you \u2026 I would love to keep forever.\n#oldmemories with # besties \n#happydays","story":"Gaurav Takte with Avi Bhalerao and 5 others.","created_time":"2016-10-21T05:33:55+0000","id":"1323317604429735_1180682248693272"},{"message":"\"सर्वांना गणेशचतुर्थीच्या हार्दीक शुभेच्छा.\nतुमच्या मनातील सर्व मनोकामना पूर्ण होवोत , सर्वांना\nसुख, समृध्दी, ऎश्वर्य,शांती,आरोग्य लाभो हीच\nबाप्पाच्या चरणी प्रार्थना. \"\nगणपती बाप्पा मोरया , मंगलमुर्ती मोरया !!!","story":"Gaurav Takte with Avi Bhalerao and 18 others.","created_time":"2016-09-05T05:06:58+0000","id":"1323317604429735_1133207030107461"}]

这是我的代码:

ArrayList data_arr1= (ArrayList) ((Map) parsed.get("posts")).get("data"); JSONArray array = new JSONArray(data_arr1); for(int i = 0; i < array.length(); i++){ try { JSONObject obj = array.getJSONObject(i); Log.p(obj.toString()); } catch (JSONException ex) { ex.printStackTrace(); } }

那么如何使用org.json库解析这个json。

1 个答案:

答案 0 :(得分:2)

这是不正确的json响应的最佳解决方案。 你可以试试这段代码我希望它能很好用..

            String result = "Your JsonArray Data Like [{}]";

            ArrayList<String> arrayList = new ArrayList<>();
            try {
                JSONArray jsonarray = new JSONArray(result);
                for (int i = 0; i < jsonarray.length(); i++) {
                    JSONObject jsonobject = jsonarray.getJSONObject(i);
                    String story = null;
                    try {
                        story = jsonobject.getString("story");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    String msg = null;
                    try {
                        msg = jsonobject.getString("message");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    String ct = jsonobject.getString("created_time");
                    String id = jsonobject.getString("id");

                    if (msg == null){
                        msg = "";
                    }
                    if (story == null){
                        story = "";
                    }
                    arrayList.add(story + msg + ct + id);
      //            Smodel is getter model
      //            arrayList.add(new Smodel(story, msg, ct, id));
                }

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }