java - 读取 jackson 中的嵌入式对象

标签 java json mapping jackson

我正在尝试使用 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/

相关文章:

java - 如何停止android应用程序中的所有工作线程

java - 将实体及其所有相关实体保存在 spring boot 的单个保存中

java - Java 1.6 中的 Java Swing App 绘画问题

javascript - 处理获取ajax json请求的php

java - 使用 Jackson 将 GeoJSON 映射到 Java

java - 如何将引用另一个 A 类型对象的 A 类型数据库对象保存到数据库中?

java - 如何每隔设定次数打印警告(Java)

javascript - 使用 Backbone fetch 来检索列表

ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080 : JSON text did not start with array or object and option to allow fragments not set

javascript - 将 Json 数据映射到新的键值对 JavaScript 对象