-2

在更多代码中具有以下代码:

@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是一个字符串,但是我如何将它转换为 aJSONObject以便我可以访问error

4

1 回答 1

2

message从当前 json 字符串中获取值:

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());
  }

因为您需要JSONObject从 json 字符串创建以从 JSONObject 获取值

于 2013-02-07T18:09:05.323 回答