当我发出请求并且失败时,它会显示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();
}
}
答案 0 :(得分:0)
根据定义,这是不可能的。
有两个主要的失败案例。一个是如果你遇到某种网络问题,在这种情况下onResponse()
没有被调用,你没有任何JSON可以使用。
上面的代码中显示的另一个是,如果您有JSON解析错误。在这种情况下,您无法获取消息,因为消息是在JSON中,并且您无法解析该JSON。您在Toast
中显示的内容不是有效的JSON(否则,您将不会获得JSONException
)。
在您的异常处理程序中,添加:
Log.e("heyoooooo", "Exception parsing JSON", e);
然后,look at the Java stack trace以查看有关特定解析错误的更多详细信息。