【发布时间】:2016-04-05 08:08:58
【问题描述】:
我在我的应用程序中使用retroft 和gson 进行请求/响应。
我从服务器获取的 json 对象的 json 结构如下:
{
"data": {
"name": "Rogelio Volkman",
"address": "27299 Will Bridge Suite 058\nWest Reubenhaven, MI 00736",
"lat": 54.65,
"lng": 111.75,
"phone": "+26(4)5015498663",
"user": {
"data": [
{
"name": "Mehrdad"
}
]
}
}
}
如您所见,每个模型都围绕着 data 关键字。
对于 json 数组响应,结果如下:
{
"data": [
{
"name": "Rogelio Volkman",
"address": "27299 Will Bridge Suite 058\nWest Reubenhaven, MI 00736",
"lat": 54.65,
"lng": 111.75,
"phone": "+26(4)5015498663",
"user": {
"data": [
{
"name": "Mehrdad"
}
]
}
},
{
"name": "Jovani Ritchie",
"address": "920 Winona Lake\nAlisashire, GA 27145",
"lat": -32.57,
"lng": 134.6,
"phone": "442.530.4166",
"user": {
"data": [
{
"name": "Mehrdad"
}
]
}
}
}
现在我想创建一个使用 GSON 反序列化这些响应的类,但我不能 implement JsonDeserializer<DataObjectModel> 因为在 deserialize 方法中我不知道该调用 je.getJsonObject("data") 还是 je.getJsonArray("data") .
如何反序列化这个响应?
【问题讨论】:
标签: java android json gson retrofit2