android - 如何在android中获取JsonResponse的值?

标签 android json

我想使用 JsonParsing 获取计数数据。这怎么可能? 我的 json 响应是,

 {"data":[{"l_id":"1","p_id":"5","user_id":"15"},{"l_id":"2","p_id":7","user_id":"16"}]}{"countdata":2}

countdata 是数据总数。我能够获取数据但无法计算数据。请指导我。

我能够成功获取 i_id、p_id 和 user_id 的数据,我的代码是,

private class GetDetail extends AsyncTask<Void, Void, Void> {

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(Void... arg0) {
            dataList = new ArrayList<HashMap<String, String>>();
            // Retrieve JSON Objects from the given URL address
            jsonobject = JSONFunctions.getJSONfromURL(urlData);

            try {
                // Locate the array name in JSON
                jsonarray = jsonobject.getJSONArray("data");

                for (int i = 0; i < jsonarray.length(); i++) {

                    HashMap<String, String> map = new HashMap<String, String>();
                    jsonobject = jsonarray.getJSONObject(i);
                    // Retrive JSON Objects

                    String lId=jsonobject.getString(TAG_L_ID);
                    String pId=jsonobject.getString(TAG_P_ID);
                    String userId=jsonobject.getString(TAG_User_ID);

                }
            } catch (JSONException e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }

            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);

        }
    }

但我无法获取 countdata 的数据。并给出错误,java.lang.IndexOutOfBoundsException: Invalid index 2, size is 0

我的代码是,

private class getData extends AsyncTask<Void, Void, Void> {
        JSONObject jsonobject;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }

        @Override
        protected Void doInBackground(Void... arg0) {
            arr = new ArrayList<HashMap<String, String>>();
            // Retrieve JSON Objects from the given URL address
            jsonobject = JSONFunctions.getJSONfromURL(urlCount);

            String strCount = jsonobject.getString("qdata");

            } catch (JSONException e) { 
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
        }
    }

请指导我。 提前致谢。

最佳答案

首先你的 json 响应无效

有效的 json :

{"data":[{"l_id":"1","p_id":"5","user_id":"15"},{"l_id":"2","p_id":"7","user_id":"16"}],"countdata":"2"}

如何获取计数数据:

String strCount = jsonobject.getString("countdata");

关于android - 如何在android中获取JsonResponse的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120438/

相关文章:

javascript - 智能手机上的 Ajax 上传

android - 单击按钮时删除 RecyclerView 中的所有内容

javascript - 带有 json 内容类型的 jquery ajax post 以 HTML 形式返回错误请求

java - 无法在 Android Studio 1.0.1 中使用导入的 jar

android - 在 Android 的后台线程中使用 CountDownTimer

javascript - 在 AngularJS 中的下拉列表中显示 JSON 数据

json - 将 NSURLSession 响应返回到其调用函数

ios - 截断的推文 iOS

javascript - 更新后的 JSON 对象显示在 DOM 和本地存储中,但通过 chrome 开发者控制台访问时不显示?

android:显示错误的方法