从retrofit2响应中获取JSONObject

时间:2017-05-15 08:33:23

标签: android retrofit retrofit2 pojo okhttp3

如何从响应对象中获取retrofit2未知的JSON对象,如此请求(使用OkHttp3):

Observable<Response<MyResponseObject>> apiCall(@Body body);

MyResponseObject如下所示:

public class MyResponseObject {

    @SerializedName("title")
    public String title;

    @SerializedName("info")
    public JSONObject info;

    @SerializedName("question_id")
    public String questionId;

   }

我想要

  

JSONObject信息

像常规对象一样。

2 个答案:

答案 0 :(得分:2)

您需要创建另一个类(Info):

public static class Info {

    @SerializedName("description")
    public String mDescription;
    @SerializedName("preview_image")
    public String mPreviewImage;

}

并在MyResponseObject中:

@SerializedName("info")
public Info info;

答案 1 :(得分:1)

我不了解JSONObject,但您可以尝试使用类似API的Observable<Response<JsonElement>>

我认为应该将您的Json反序列化为JsonElement对象

如果您只需要json String,也可以调用Response.body()Response.errorBody()