我必须处理动态 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
被解雇)。
我想创建我的自定义转换器,并且这个问题有一个很好的例子,但这个例子是针对 Retrofit 1 的。
我必须创建一个扩展类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 实现自定义转换器的简单示例。不幸的是没有找到。
I found 这个例子但是,至少对我来说,这对于我的目的来说太复杂了。
幸运的是,我找到了解决方案。
这个解决方案是使用GSON deserializers
.
我们不需要创建自定义转换器,我们只需自定义GSON converter
.
这里有一个很棒的tutorial。这是我用来解析我的问题中描述的 JSON 的代码:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)