I'm trying to get some json data using OkHttp and can't figure out why when i try logging the response.body().toString()
what i get is Results:﹕ com.squareup.okhttp.Call$RealResponseBody@41c16aa8
try {
URL url = new URL(BaseUrl);
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.header(/****/)
.build();
Call call = client.newCall(request);
Response response = call.execute();
**//for some reason this successfully prints out the response**
System.out.println("YEAH: " + response.body().string());
if(!response.isSuccessful()) {
Log.i("Response code", " " + response.code());
}
Log.i("Response code", response.code() + " ");
String results = response.body().toString();
Log.i("OkHTTP Results: ", results);
I don't know what i'm doing wrong here. How do i get the response string?
You have use .string()
function to print the response in System.out.println()
. But at last in Log.i()
you are using .toString()
.
So please use .string()
on response body to print and get your request's response, like:
response.body().string();
NOTE:
.toString()
: This returns your object in string format.
.string()
: This returns your response.
I think this solve your problem... Right.