Skip to content
Advertisement

Can’t get OkHttp’s response.body.toString() to return a string

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

JavaScript

Log

I don’t know what i’m doing wrong here. How do i get the response string?

Advertisement

Answer

Just in case someone bumps into the same weird thing as I have. I run my code during development in Debug Mode and apparently since OKHttp 2.4

..the response body is a one-shot value that may be consumed only once

So when in debug there is a call “behind the scene” from the inspector and the body is always empty. See: https://square.github.io/okhttp/3.x/okhttp/okhttp3/ResponseBody.html

User contributions licensed under: CC BY-SA
8 People found this is helpful
Advertisement