我正在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解析器来实现?
答案 0 :(得分:0)
要实现所需的功能,最好的方法是编写Gson解串器。