sunshineDade 2016-08-23 04:12 采纳率: 66.7%
浏览 961
已采纳

android JSON解析问题

public static List getAllNewsFromNetwork(Context context) {
final List list = new ArrayList();
RequestQueue queue = Volley.newRequestQueue(context);

    final JsonObjectRequest request = new JsonObjectRequest(URL, null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.e(TAG, "response: " + response);
            try {
                JSONObject result = response.getJSONObject("result");
                JSONArray array = result.getJSONArray("data");
                Log.e(TAG, "array: " + array);
                for (int i = 0, len = array.length(); i < len; i++) {
                    JSONObject object = (JSONObject) array.opt(i);
                    Log.e(TAG, "object: " + object);
                    NewsInfo info = new NewsInfo();
                    info.setTitle(object.getString("title"));
                    info.setThumbnail_pic_s(object.getString("thumbnail_pic_s"));
                    info.setThumbnail_pic_s02(object.getString("thumbnail_pic_s02"));
                    info.setThumbnail_pic_s03(object.getString("thumbnail_pic_s03"));
                    info.setDate(object.getString("date"));
                    info.setType(object.getString("realtype"));
                    info.setUrl(object.getString("url"));
                    Log.e(TAG, "onResponse: info.toString() ==" + info.toString());
                    list.add(info);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, "onErrorResponse: " + error);
        }
    });
    queue.add(request);
    queue.start();
    Log.e(TAG, "getAllNewsFromNetwork: list.size() ==" + list.size());
    return list;
}

    这个函数返回的list为什么是空的?response输出的数据一直都有,解析也没出现问题,

求大神指教

  • 写回答

1条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2016-08-23 05:27
    关注

    JsonObjectRequest是个异步请求吧,你返回list时,请求还没回来,所以list里面没有数据

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?