Не знаю, почему никто не написал самое прямое решение для этого ответа, поэтому я сделаю это здесь:
Просто пометьте поля, которые вы не хотите сериализовать через Gson, как transient
.
Вот пример:
public class Animal
{
private String name = "dog";
transient private int port = 80;
private String species = "canine";
transient private String password = "NoOneShouldSeeThis";
}
Ни один из предметов, помеченных как временные, не будет сериализован.
После десериализации они будут установлены в значения по умолчанию (класс по умолчанию).
Результирующий JSON будет выглядеть следующим образом:
{"name":"dog","species":"canine"}
Для получения дополнительной информации о переходных процессах вы можете увидеть SO
Почему в Java есть переходные поля?