【问题标题】:get simple json object using retrofit 2使用改造 2 获取简单的 json 对象
【发布时间】:2015-12-07 09:22:47
【问题描述】:

我的 api 打印一个简单的 json 对象,如下所示:

{"status":1}

如何说retrofit (v2) 将其传递给gson 并返回一个包含此键值对的JSONObject 作为响应?

我尝试了以下操作:

Call<JSONObject> result();

但是当在onResponse (Response&lt;JSONObject&gt; response)方法中打印response.body()时,它会返回{},这意味着它是空的。

【问题讨论】:

  • 你试过访问response.raw().body()吗?
  • 你得到解决方案了吗?

标签: android json retrofit


【解决方案1】:

经过大量研发后,我得到了答案。请在下面找到它

使用包com.google.gson中的JsonObject而不是包org.json中的JSONObject

在调用 Call&lt;JsonObject&gt; result()onResponse (Response&lt;JsonObject&gt; response) 方法用于调用 response.body()response.body().toString(); 之后,它会从 apiwhatever 你想要打印正确的 Json

【讨论】:

  • 太棒了!上帝保佑你。
  • 好东西,伙计。我今天早些时候用 JSONObject 试过这个。永远不会注意到差异(JsonObject)。如果可以的话,我会再次投票。
  • 我需要为这个答案投票一百万次!谢谢!
【解决方案2】:

要获取 org.json.JSONArray 或 org.json.JSONObject 只需创建自定义 ConverterFactory,如下所示: https://github.com/marcinOz/Retrofit2JSONConverterFactory

【讨论】:

    猜你喜欢
    • 2014-10-16
    • 2018-09-01
    • 1970-01-01
    • 2014-05-29
    • 2016-07-07
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    相关资源
    最近更新 更多