有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我无法在spring boot中将映射转换为POJO

我有一个像这样的POJO-

public class MyClass {
private String id;

private List<String> titles;
}

和地图(myClassMap)-

"a" -> ["one", "two", "three"]

我试过的-

ObjectMapper mapper = new ObjectMapper();
MyClass myClass = mapper.convertValue(myClassMap, MyClass.class);

但是idtitles都返回null

我如何解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    为了实现这种映射,您不需要ObjectMapper,它实际上是一个Jackson映射器,通常用于JSON映射,而不是作为映射到对象的映射器(这实际上可以工作,但不像您预期的那样,因为映射键必须匹配对象属性)。 对于您的情况,您只需执行以下操作(假设MyClass中的构造函数同时具有这两个属性):

    myClassMap.entrySet().stream().map(e -> new MyClass(e.getKey(), e.getValue());
    

    这将创建一个MyClass实例列表,其中myClassMap中的每个键对应一个实例