我正在尝试使用 Jackson 2.0-RC3 读取旧版 JSON 代码,但我被“嵌入式”对象卡住了。
给定以下 JSON:
{
"title": "Hello world!",
"date": "2012-02-02 12:23:34".
"author": "username",
"author_avatar": "http://.../",
"author_group": 123,
"author_prop": "value"
}
如何将其映射到以下结构:
class Author {
@JsonPropery("author")
private String name;
@JsonPropery("author_avatar")
private URL avatar;
@JsonProperty("author_group")
private Integer group;
...
}
class Item {
private String title;
@JsonProperty("date")
private Date createdAt;
// How to map this?
private Author author;
}
我试图用 @JsonDeserialize
做到这一点,但似乎我必须以这种方式映射整个 Item
对象。
最佳答案
要处理“嵌入式”对象,您应该使用 @JsonUnwrapped
— 它等效于 Hibernate 的 @Embeddable
/@Embedded
。
class Item {
private String title;
@JsonProperty("date")
private Date createdAt;
// How to map this?
@JsonUnwrapped
private Author author;
}
关于java - 读取 jackson 中的嵌入式对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036530/