解析Android中的Json响应时出现的问题

时间:2013-02-07 18:04:51

标签: java android json parsing

在更多代码中包含以下代码:

@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

1 个答案:

答案 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

获取值