android – 改装2的自定义转换器

前端之家收集整理的这篇文章主要介绍了android – 改装2的自定义转换器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我必须处理一个动态的 JSON响应.

之前,我正在使用类和注释如下:

public class ChatResponse {

    @SerializedName("status")
    private int status;

    @SerializedName("error")
    private String error;

    @SerializedName("response")
    private Talk response;

    public int getStatus() {
        return status;
    }

    public String getError() {
        return error;
    }

    public Talk getResponse() {
        return response;
    }
}

当状态为1(成功)时,onResponse被触发,我可以获取一个ChatResponse对象.但是,当状态为0时,JSON表示中的响应为false,并且它失败(onFailure被触发).

我想创建我的自定义转换器,而this question有一个很好的例子,但是这个例子就是Retrofit 1.

I have to创建一个扩展Converter.Factory的类,但是我不知道如何覆盖这个类的方法.

其实我有下一个:

@Override
public Converter<ResponseBody,?> fromResponseBody(Type type,Annotation[] annotations) {

    return super.fromResponseBody(type,annotations);
}

@Override
public Converter<?,RequestBody> toRequestBody(Type type,Annotation[] annotations) {

    return super.toRequestBody(type,annotations);
}

此时我如何解析JSON响应?

提前致谢.

解决方法

我正在寻找一个简单的例子,说明如何为Retrofit 2实现自定义转换器,并且没有发现任何好处( there is an example,但至少对我来说,这对我的purpouse来说太复杂了).

但是最后我找到了一个解决方案.该解决方案是使用GSON解串器.所以我们不需要一个自定义的转换器,我们只需要定制GSON转换器.

这是一个很棒的tutorial.这里是我的代码解析在我的问题中描述的JSON:

> Login Deserializer:定义如何将JSON解析为目标类的对象(使用条件和任何我们需要的).
> Custom GSON converter:构建使用我们自定义解串器的GSON转换器

猜你在找的Android相关文章