私は自分のエンティティにいくつかの共通のプロパティを提供する抽象クラスを持っています。以下は抜粋です。シリアル化時に仮想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) –