我在GsonConverterFactory上使用Retrofit(在Android上)。我从端点返回的json中有json meta information。例如,响应看起来像这样:
{
meta:{"some meta information"},
data:{
address:{
meta:{"some other meta information"},
data:{
street: "Main Street",
zip: "99999",
state: "CA",
},
...
}
}
使用Gson(通过GsonConverterFactory),我的数据模型需要看起来像这样(在Kotlin中):
class Response(val data: Data1)
class Data1(val address: Address)
class Address(val Data2)
class Data2(val street: String, val zip: String, val state: String)
如您所见,如果它不是基本类型,则对象将包含在数据成员中。但是,我不想在我的数据模型类中包含那些数据对象。
是否有一种简单的方法来“跳过”那些数据标签?我不想排除它们,只是直接包含它们内部的内容。例如,数据模型看起来像这样:
class Response(val address: Address)
class Address(val street: String, val zip: String, val state: String)
等效的json看起来像这样:
{
address:{
street: "Main Street",
zip: "99999",
state: "CA",
},
...
}
不幸的是,这不是端点传递json的方式。
有没有办法用Gson,Jackson或其他一些可在Android上运行的json解析器实现这一目标?
要实现您的目标,最好的方法是编写Gson解串器。