Я использую retroft
и gson
для запроса/ответа в своем приложении.
Структура JSON я получаю от сервера для объекта JSON, как:Deserialze json с ключевым словом wrapper с Gson
{
"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"
}
]
}
}
}
Теперь я хочу создать класс, который deserialises тезисы ответов с GSON, но я не implement
JsonDeserializer<DataObjectModel>
может, так как в методе deserialize
я не знаю Wheter для звонка je.getJsonObject("data")
или je.getJsonArray("data")
. Как десериализовать этот ответ?
ответил на мой вопрос, не читая вопрос первым? Я просил десериализацию с ключевым словом '' data'' – Mehrdad
@Mehrdad, извините, но ваш стиль письма очень запутан для меня, и трудно понять, что вы на самом деле хотите в своем вопросе. Тем не менее, вы можете использовать описанный подход из моего ответа, и он будет работать без проблем. –