我正在使用一个API,该API返回多个JSON响应,它们之间具有公共数据字段。我正在使用Moshi将响应反序列化为对象。
例如说一个API方法调用的响应具有这种结构
class Book(
val title: String,
val genre: String,
...
val authorName: String,
val authorAge: Int,
val authorCountry: String
}
另一个具有这种结构
class Article(
val title: String,
val subject: String,
...
val authorName: String,
val authorAge: Int,
val authorCountry: String
}
我正在寻找一种解决方案,以便能够将公共字段(例如,作者详细信息)移动到一个单独的类中,并将其视为好像来自嵌套的JSON结构,同时接收到实际的JSON来自API的内容保持不变,并且仍然保持不变。
class Book(
val title: String,
val genre: String,
...
val author: Author
}
我想这样做,所以我可以:
Book
或Article
对象Author
字段我能想到的当前解决方案是:
EventJson
示例。
我想避免这种情况,因为我的数据类很大,而且我
将必须复制中间类中的所有字段。Book
的{{1}}和Article
类子类。一世
不喜欢这样,因为书不是作者,并且因为它不允许
我将作者视为一个单独的实体。有什么建议吗?
答案 0 :(得分:1)
我认为即使需要大量代码,EventJson方法也将最容易维护。