[英]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.