当前位置: 首页 > 知识库问答 >
问题:

在Reverfit 2.0 android中无法获取json字符串作为响应

公良云
2023-03-14

这不是一个重复的问题。我正在使用Revovit2.0和json来完成网络任务。另外,我没有使用GSON解析json,而是使用简单的JsonObject和JsonArray从json字符串获取模型对象。首先,指导我在上述情况下必须使用哪种改型转换器。

其次,我无法将json字符串作为响应字符串。

我尝试了两种方法--方法1--我使用了call 。在本例中,response.body()返回null,但状态代码为200。

方法2-我使用了调用 。在本例中,call.enqueue方法调用“on failure method”而不是“on success”,并且响应主体为null。在本例中,状态代码也是200。

请建议如何获得json字符串作为从改版2.0的响应。

共有1个答案

汪晨
2023-03-14

您需要使用jsonobject而不是voidresponsebody。您的代码应该是

Call<JsonObject> getCall = request.getDataCall();
getCall.enqueue(new Callback<JsonObject>() {
    @Override
    public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {

    }

    @Override
    public void onFailure(Call<JsonObject> call, Throwable t) {

    }
});

注意:确保您使用的是com.google.gson.jsonObject

 类似资料:
  • 问题内容: 我知道曾经有一种使用apache commons来获取它的方法,如此处记录的:http : //hc.apache.org/httpclient-legacy/apidocs/org/apache/commons/httpclient/HttpMethod.html 和此处的示例: http://www.kodejava.org/examples/416.html 但我认为这已被弃用。

  • 我有这样一个JSON文件: 我需要得到回应。使用者用户名值。我试过这个: 但我得到了这个错误: 怎么修,肯定有办法,就是找不到。

  • 是否可以使用改型库只累加字符串响应?我有一种情况,我需要在我的链接上添加查询,以便该链接看起来像:localhost//register?handle=someid SomeID是整数,当我这样做时,我将从服务器收到由20个字符组成的字符串格式的响应。我怎样才能得到那个回应?改型甚至可以处理不是Json格式的响应吗?

  • 我在使用Spring RestTemplate时遇到了问题。 现在,我向一个restful服务发送一个PUT请求,该restful服务向我发回重要的信息作为响应。 问题(就像我前面说的)是上面的try/catch没有返回任何响应,但它给了我一个200的响应。 所以现在我问,会有什么问题?

  • 我从JMeter调用一个登录API,返回json格式的结果。对于这个API调用,我得到了预期的结果,但是json响应包含ï»字符。在我添加的请求中,DataType:json和Content-Type:application/json;字符集=utf-8。 任何建议。 输出Json响应

  • 我正在使用ApacheJMeter发出HTTP请求。 响应格式如下: HTTP/1.1 100继续 HTTP/1.1 200 OK x-powering-by: Express access-Control-low-source:*access-Control-low-method: HEAD, POST, PUT, GET, OPTIONS, DELETE access-Control-low-