使用 Retrofit 和 GSON 将复杂 JSON 映射为 Java 对象的正确方法
Proper way to map complex JSON as a Java object with Retrofit and GSON
如果我从 REST API 获取的 JSON 对象具有以下结构:
{
"IsError":false,
"Result":{ "key1":"value", "key2":"value", ... }
}
是否应该组合两个不同的 Java 类(IsError 和 Result),或者只包含一个,作为 Call<> 中的预期对象?
2016 年 10 月 6 日更新:
Retrofit2 的正确使用问题 in a new question
如果您的所有服务都将以该结构响应,那么我将实施一个通用的 class,其中包括 IsError
和 Result
:
public class Response<T> {
private boolean IsError;
private T Result;
// getters
}
然后对于每项服务,您必须使用相应的 classes,例如Response<MyClass1>
、Response<MyClass2>
等作为 Call<>
中的预期对象。
如果我从 REST API 获取的 JSON 对象具有以下结构:
{
"IsError":false,
"Result":{ "key1":"value", "key2":"value", ... }
}
是否应该组合两个不同的 Java 类(IsError 和 Result),或者只包含一个,作为 Call<> 中的预期对象?
2016 年 10 月 6 日更新:
Retrofit2 的正确使用问题 in a new question
如果您的所有服务都将以该结构响应,那么我将实施一个通用的 class,其中包括 IsError
和 Result
:
public class Response<T> {
private boolean IsError;
private T Result;
// getters
}
然后对于每项服务,您必须使用相应的 classes,例如Response<MyClass1>
、Response<MyClass2>
等作为 Call<>
中的预期对象。