У меня есть этот абстрактный класс, который предоставляет некоторые общие свойства моим объектам. Ниже приводится выдержка:Как создать виртуальное свойство JSON при сериализации?
@MappedSuperclass
public class AbstractEntity implements Serializable {
@Id
@GeneratedValue
private long id;
@Temporal(value = TemporalType.TIMESTAMP)
@JsonProperty(access = Access.READ_ONLY)
private Date createdOn;
@Temporal(value = TemporalType.TIMESTAMP)
@JsonProperty(access = Access.READ_ONLY)
private Date modifiedOn;
⋮
}
При сериализации подкласса JSON я получить ожидаемые результаты, например, это отрывок из сериализации:
{
"createdOn": "2016-12-11T15:35:23Z",
"modifiedOn": "2016-12-11T15:35:23Z",
⋮
}
Мне нужно, чтобы эти общие свойства сериализованные на объект JSON таким образом, что в приведенном выше примере выглядит следующим образом:
{
"_metadata": {
"createdOn": "2016-12-11T15:35:23Z",
"modifiedOn": "2016-12-11T15:35:23Z",
}
⋮
}
Я уже пробовал использовать класс под названием Metadata
и имеющий свойство этот тип работает хорошо. Но мне интересно, есть ли более простой или простой способ использовать аннотации Джексона?
Это, возможно, дублированный вопрос. Смотрите: [http://stackoverflow.com/questions/19158345/custom-json-deserialization-with-jackson](http://stackoverflow.com/questions/19158345/custom-json-deserialization-with-jackson) –