2016-03-09 2 views
2

Я пытаюсь отобразить объект JSON с помощью GSON (через дооснащение).Сопоставление субобъекта JSON в поле

My JSON выглядит следующим образом:

{ 
    "id" = 1, 
    "artist" = { 
    "id" = 1 
    } 
} 

Я знаю, что это может быть сопоставлен так:

class MyObject{ 
    int id; 
    Artist artist; 
} 

class Artist{ 
    int id; 
} 

Можно ли удалить дополнительный класс нравится и сделать что-то вроде этого:

class MyObject{ 
    int id; 
    @SerializedName("artist/id") 
    int artistId; 
} 

Заранее благодарен!

+0

Почему вы хотите удалить свой класс Artist? – acostela

+0

Я не хочу его удалять, я хочу избавиться от ссылки в этом классе. (Поскольку этот класс сохраняется в моем ORM) Также сам объект Artist содержит больше полей, но в этом случае идентификатор является единственным подходящим. –

+0

Вы можете написать собственный сериализатор для класса MyObject, здесь приведена ссылка http://www.javacreed.com/gson-serialiser-example/ –

ответ

0

Есть два пути, которые я знаю, чтобы делать то, что вы точно хотите достичь? Один из способов, чтобы написать CustomizeSerializer для собственного Class

См Мой ответ на это Вопрос>> How To write Custom Serializer For Your POJO

Еще один способ сделать >>Google GSON Serializer Examples

+0

Простите, возможно, я должен был быть более понятным. Я хочу десериализовать объект, а не сериализовать. Поскольку данные поступают из api. –

+0

напишите два Java POJO 'Artist' и' MyObject' в вашем коде. Тогда вам будет легко –

+1

Да, но я пытаюсь предотвратить это –

Смежные вопросы