【问题标题】:Parse JSONArray present in generic ArrayList解析通用 ArrayList 中存在的 JSONArray
【发布时间】:2017-08-15 13:39:35
【问题描述】:

我对 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。

【问题讨论】:

  • 您是否尝试过使用搜索引擎?我感觉这里每天都有10个这样的问题......
  • 还有提示:阅读raw泛型类型。您正在使用它们;但你最好不要。
  • @GRV_Droid 不要在评论中发布代码。编辑问题以澄清。删除评论。
  • 我测试了您的 json 响应示例,它工作正常。请参阅我的答案。

标签: java json arraylist codenameone org.json


【解决方案1】:

这是正确 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();
            }

【讨论】:

  • 你能解释一下结果字段包含什么吗?表示包含 json 的 json 响应或我的数组列表
  • result 是响应 Jsonarray 的字符串值
  • 欢迎。接受我的回答并关闭这个问题。 @GRV_Droid
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多