java - 使用 Retrofit 和 GSON 将复杂 JSON 映射为 Java 对象的正确方法

标签 java android generics gson retrofit2

如果我从 REST API 获取的 JSON 对象具有以下结构:

{

"IsError":false,

"Result":{ "key1":"value", "key2":"value", ... }

}

应该组合两个不同的 Java 类(IsError 和 Result),还是只组合一个包含这两个类,作为 Call<> 中预期的对象?

2016 年 10 月 6 日更新:

Retrofit2 的正确使用询问 in a new question

最佳答案

如果您的所有服务都将使用该结构进行响应,那么我将实现一个包含 IsError 的通用类。和Result :

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

    // getters
}

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

关于java - 使用 Retrofit 和 GSON 将复杂 JSON 映射为 Java 对象的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39338552/

相关文章:

java - RunOnUiThread 无法直接访问 Message

java - 在 Java 中,什么时候应该使用 "Object o"而不是泛型?

c# - 如何在 C# 中为接受 IComparable 的通用方法处理 double.NaN

java - 类名 + $ 。是什么原因造成的?

java - 我可以使用 session 作用域 bean 而不是 httpsession 来维护 session 吗

java - 使用flexmark-java清理markdown

用于增强现实的 Android API - gps 和指南针

java - jbutton 上的 keyListener 不工作

android - Ionic/Cordova 更改 Android 导航栏颜色

带有 super 关键字的 Java 泛型方法