如何获取response.body中的数据
时间: 2023-08-14 16:03:42 浏览: 568
要获取 OkHttp 中 Response 的 Body 数据,可以在响应成功时通过 Response.body() 方法获取响应体,然后使用该响应体中提供的方法获取数据。
例如,可以使用 response.body().string() 获取响应体中的字符串数据,或者使用 response.body().byteStream() 获取响应体中的字节流数据。
下面是一个获取响应体中字符串数据的示例代码:
```java
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
String responseData = response.body().string(); //获取响应体中的字符串数据
//对数据进行处理
}
}
});
```
在上面的代码中,如果响应成功,则调用 response.body().string() 方法获取响应体中的字符串数据,并将其赋值给 responseData 变量,然后可以对该字符串数据进行处理。
注意,获取响应体中的数据时,需要在响应成功的回调方法中进行,否则可能会出现空指针异常。同时,在获取响应体中的数据之后,需要对其进行非空判断,以避免出现空指针异常。
阅读全文