如何从 javax.ws.rs.core.Response 响应中检索 JSON 响应?

Posted

技术标签:

【中文标题】如何从 javax.ws.rs.core.Response 响应中检索 JSON 响应?【英文标题】:How to retrieve JSON Response from a javax.ws.rs.core.Response response? 【发布时间】:2014-10-01 12:23:06 【问题描述】:

我正在向 API 发出请求并获得200 的响应状态代码。

api 的响应包括 json 响应。

import javax.ws.rs.core.Response;

Response response = webclient.post(SomeReqString);

如何从 Web 客户端响应中检索 json 响应作为字符串?

【问题讨论】:

【参考方案1】:

尝试使用Response.getEntity() 方法,该方法返回InputStream。然后,要将您的 InputStream 转换为字符串,请检查 this question。如果您确实需要将 JSON 字符串映射到 Java 实体,请考虑直接调用 Response.readEntity()。请注意,如果您使用 InputStream,您可能必须自己处理输入流。

【讨论】:

【参考方案2】:

您可以使用以下代码

String responseAsString = response.readEntity(String.class);

【讨论】:

我试过这个。 response 对象没有名为 readEntity() 的方法 我不知道它现在是否已被弃用。它至少有过一次。 docs.oracle.com/javaee/7/api/javax/ws/rs/core/…

以上是关于如何从 javax.ws.rs.core.Response 响应中检索 JSON 响应?的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

如何从 Firebase 获取所有设备令牌?

如何直接从类调用从接口继承的方法?

如何从服务器获取和设置 android 中的 API(从服务器获取 int 值)?如何绑定和实现这个

如何从Mac从android studio中的fabric注销? [复制]

如何从设备中获取 PDF 文件以便能够从我的应用程序中上传?