繁体   English   中英

排球的定制回应

[英]Custom response from Volley

当我发出请求并失败时,它显示带有完整响应错误的Toast,我只希望它发出“消息”,而不是整个JSON。

我想只显示消息,而不显示整个JSON字符串。

这是我的JSON字符串:

{"status":false,"message":"message here"}

这是onResponse函数:

        @Override
        public void onResponse(String response){
            try {
                JSONObject volleyResponse = new JSONObject(response);

                boolean success = volleyResponse.getBoolean("success");
                final String message = volleyResponse.getString("message");

                if(success){
                    messageText.setText("success");
                }
            } catch(JSONException e) {
                Toast.makeText(Authentication.this, response, Toast.LENGTH_LONG).show();
            }
        }

根据定义,这是不可能的。

主要有两种故障情况。 一种是如果您遇到某种网络问题,在这种情况下,不会调用onResponse() ,并且您没有可使用的任何JSON。

上面的代码中显示的另一个是是否存在JSON解析错误。 在这种情况下,您将无法获取消息,因为该消息位于JSON中,并且您无法解析该JSON。 Toast中显示的内容不是有效的JSON(否则,您将不会获得JSONException )。

在您的异常处理程序中,添加:

Log.e("heyoooooo", "Exception parsing JSON", e);

然后, 查看Java堆栈跟踪以查看有关特定解析错误的更多详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM