我的android项目

时间:2016-06-01 06:30:51

标签: android json parsing android-volley

我正在制作一个使用排球库解析jsosn的应用程序。我创建了单独的Parser类,其中包含解析json的方法。我在我的活动(JsonObjectRequest - onResponse)类中使用该方法来解析数据。但突然间所有捕获块都给我错误 -

必需 - 可扔, 发现 - JsonException

我的阻止

catch (JSONException e) {
        e.printStackTrace();
    }

我的JsonObjectRequest方法

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
            url, params,
            new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    pDialog.hide();

                    new AGCommonMethods().AGLog(0, TAG, response.toString());
                    try {
                        AlertDialog dialog = new AGCommonMethods(mContext).showMessage("" + response.getString("message"));
                        dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                            @Override
                            public void onDismiss(DialogInterface dialog) {
                                onBackPressed();
                            }
                        });
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }

Parser Class

 public Object parseResponse(String response) throws JSONException {

    JSONObject jsonObject = new JSONObject(response);
    try {
        if (jsonObject.has("ABC")) {
            JSONObject jsonData = jsonObject.getJSONObject("ABC");

            //Parsing Data

            return jsonObject;
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
    return false;
}

1 个答案:

答案 0 :(得分:-1)

您应该维护&#39; Parent child&#39; 类的关系。 我的意思是你不能将上面的父类放在try-catch block.

中的子类中

示例:

catch(NullPointerException){
//Handling code of NullPointerException
}
catch(ArrayIndexOutOfBounds){
//Handling code of ArrayIndexOutOfBounds
}
catch(Exception){
//Handeling code if all above failed to catch Exception occured
}

我认为你放错了Exception类的序列。 尝试将JSONException替换为Exception类。