Условно сериализовать поля в Gson - PullRequest
0 голосов
/ 31 марта 2020

У меня есть два класса: Player и Match.

Player имеет два поля, playerId и name, тогда как Match содержит два Player объекта и matchId тоже.

Когда я сериализую Player, я хочу, чтобы идентификатор и имя появлялись в JSON, однако, когда я сериализую Match, я получаю matchId и Player непереходные поля и их соответствующие значения, хотя я хотел бы получить только Player ids.

Как мне сделать это с Gson?

Заранее спасибо и оставаться в безопасности. Фарес

1 Ответ

0 голосов
/ 31 марта 2020

Вы можете использовать аннотацию @Expose Gson, чтобы открыть только это поле. Вам нужно будет построить свой объект Gson, вызвав функцию GsonBuilders excludeFieldsWithoutExposeAnnotation ().

class Player {

    @Expose
    private final int id;

    //constructor, etc

}
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...