Вы пометили свой вопрос с помощью gson, но я бы порекомендовал вам библиотеку Джексона , потому что я видел ваши два последних вопроса и кажется, что gson недостаточно гибок для вас.* В Джексоне ваш пример будет выглядеть так:
public final class JSONChangeSet {
private final String comment;
private final Resource owner;
@JsonCreator
public JSONChangeSet(
@JsonProperty("comment") final Resource owner,
@JsonProperty("comment") final String comment
) {
this.comment = comment;
this.owner = owner;
}
public String getComment() {
return comment;
}
}
С этим решением вы можете иметь неизменяемые объекты, которые будут построены конструктором.Это также хорошо для паттерна DI.И, кстати, Джексон молниеносно.
Вы можете прочитать этот вопрос также.