gpt4 book ai didi

java - 如何使用 Orika 将 Java 映射映射到对象

转载 作者:行者123 更新时间:2023-12-02 02:54:30 24 4
gpt4 key购买 nike

我正在尝试将 Java Map 映射到 POJO,但在使用 Orika 时遇到问题。

我有一个 LinkedHashMap 并尝试将其映射到 POJO。我一直在阅读这个网站https://www.baeldung.com/orika-mapping ,特别是第 4.2 节

这就是我定义 orika 映射器的方式:

factory.classMap(Map.class, TestDto.class)
.field("nest['name']", "name")
.toClassMap();

这是我要映射的 LinkedHashMap:

Map<Object, Object> nest = new LinkedHashMap<>();
nest.put("name", "myname");

Map<Object, Object> obj = new LinkedHashMap<>();
obj.put("nest", nest);

这是我试图映射到的 POJO:

public class TestDto {

private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

当我这样做时:

TestDto testDto = mapper.map(obj, TestDto.class);

我得到 null 作为名称。这种情况是否可以映射,或者我是否必须对 orika 进行更多定制?

最佳答案

是的,此映射的名称将返回 null。TestDto testDto = mapper.map(obj, TestDto.class);

这是由于TestDto类中的变量名不包含变量名嵌套。

用不同的键映射您的 POJO。请在 get() 方法中添加 @JsonProperty。

示例:

@JsonProperty("nest")
public String getName() { return name; }

关于java - 如何使用 Orika 将 Java 映射映射到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com