当前位置: 首页 > 面试题库 >

在Jackson中读取嵌入式对象

薄兴昌
2023-03-14
问题内容

我正在尝试使用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编程是新手。我当前的项目要求我读取excel表中的嵌入式(ole)文件并获取其中的文本内容。阅读嵌入式word文件的例子很好,但是我无法找到阅读嵌入式pdf文件的帮助。通过看类似的例子尝试了很少的事情....但没成功。

  • 在将非spring应用程序转换为Spring Boot时,您希望使用现有上下文。嵌入tomcat中的xml文件。 使用Spring Boot 1.5.1和Tomcat 8.5.11 TomcatEmbeddedServletContainerFactory配置 检查数据库连接的方法, 那么如何在Spring Boot中加载现有的context.xml。

  • 我是一个新的Java程序员,来自Python背景。我有天气数据被收集/返回为一个JSON嵌套键,我不明白如何在这种情况下拉出值。我肯定这个问题以前有人问过,但是我发誓我已经谷歌了很多,似乎找不到答案。现在我使用的是json-简单,但我尝试切换到Jackson,但仍然不知道如何做到这一点。由于Jackson/Gson似乎是最常用的库,我希望看到使用其中一个库的示例。下面是数据的示例,后面是我到目前为

  • 我的json结构如下: 表示JSON继续使用更多。我想从这个JSON中检索。我的代码如下所示: 但是,使用此代码,将始终 我尝试了不同的路径,但总是得到一个空的

  • 问题内容: 我是来自Python的新Java程序员。我有正在收集/返回为带有嵌套键的JSON的天气数据,而且我不了解在这种情况下如何提取值。我敢肯定这个问题已经被问过了,但是我发誓我已经用Google搜索了很多东西,但是我似乎找不到答案。现在我正在使用json- simple,但我尝试切换到Jackson,但仍然不知道如何执行此操作。由于Jackson / Gson似乎是使用最频繁的库,因此,我很

  • 特别是Java类不是我自己的(它是一个依赖项),所以我不能修改它。作者对类的想法是使用Builder模式构造对象,并且没有提供默认的构造函数。 为了避免这个问题,我想我需要创建一个适配器类。然后,我将通过使用序列化的适配器对象并填充构建器来构建我的对象。 有没有更干净的方法可以做到这一点?如果ObjectMapper提供了从流读取到特定对象的方法,我就可以使用生成器生成一个空对象,然后用Jacks