使用Moshi将平面JSON解析为嵌套对象结构
我正在使用一个API,它返回几个JSON响应,这些响应之间有公共数据字段。我使用Moshi将响应反序列化为对象 例如,假设来自一个API方法调用的响应具有以下结构使用Moshi将平面JSON解析为嵌套对象结构,json,moshi,Json,Moshi,我正在使用一个API,它返回几个JSON响应,这些响应之间有公共数据字段。我使用Moshi将响应反序列化为对象 例如,假设来自一个API方法调用的响应具有以下结构 class Book( val title: String, val genre: String, ... val authorName: String, val authorAge: Int, val authorCountry: String } class Article(
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
}
另一个有这样的结构
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
}
我正在寻找一种解决方案,能够将公共字段(例如,author details)移动到一个单独的类中,并将其视为来自嵌套JSON结构,而从API接收到的实际JSON保持不变且仍然平坦
class Book(
val title: String,
val genre: String,
...
val author: Author
}
我想这样做,以便我能够:
书籍
或文章
对象四处传递作者
字段EventJson
示例。
我希望避免这种情况,因为我的数据类非常大,而且
必须复制中间类中的所有字段书籍
和文章
类作为作者
的子类。我
我不喜欢这样,因为一本书不是作者,也因为它不会让人失望
我将作者视为一个独立的实体有什么建议吗?我认为EventJson方法将是最容易维护的方法,即使它需要大量代码