使用 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,其中包括 IsErrorResult:

public class Response<T> {
    private boolean IsError;
    private T Result;

    // getters
}

然后对于每项服务,您必须使用相应的 classes,例如Response<MyClass1>Response<MyClass2> 等作为 Call<> 中的预期对象。