在更多代码中包含以下代码:
@Override
public void handleFailureMessage(Throwable e, String responseBody) {
Log.d("handleFailureMessage", "e: " + e);
Log.d("handleFailureMessage", "errorResponse: " + responseBody);
System.out.println(responseBody);
JSONObject error = responseBody.getJSONObject("error");
Log.d("error", error.toString());
String message = error.getString("message");
Log.d("message", message);
dialog("error", message);
}
返回的错误如下所示:
{"error":{"type":"incomplete_data","message":"Key either not set, or invalid"}}
我只是想到达“消息”部分,然后输出文本
所以我知道responseBody
是一个字符串,但我如何将其转换为JSONObject
以便我可以访问error
?
答案 0 :(得分:2)
从当前json字符串中获取message
值:
try {
JSONObject error =new JSONObject(responseBody);
JSONObject errorobj = error.getJSONObject("error"); // get error JSONObject
// get message from error JSONObject
String message = errorobj.getString("message");
Log.d("error", message);
} catch (JSONException e) {
Log.e("JSON Parser", "Error :" + e.getMessage());
}
因为您需要从json字符串创建JSONObject
以从JSONObject