-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に変換するにはどうすればよいでしょうか。JSONObjecterror

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

JSONObjectJSONObject から値を取得するには、json 文字列から作成する必要があるため

于 2013-02-07T18:09:05.323 に答える