杰克逊在从 Map 转换为 POJO 时为类属性设置提示



您好,我需要将地图转换为POJO。我知道我可以使用此代码:

MyObject obj = (new ObjectMapper()).convertValue(myMap, MyObject.class);

但是我遇到了问题:map的键可以包含java关键字,例如map可以是:

Map<String, String> map = new Map<String, String>();
map.put("class", "...");
map.put("interface", "...");
map.put("value", "Some value");

所以转换后,我将初始化值字段,但我不知道如何使用键"接口"和"类"分配值。

public class MyObject {
   public String value;
   /*
     I can not define fields named "class" and "inteface" but i need values with this keys
   */
}

@JsonProperty注释不适用于此(我认为不应该适用于非 JSON 转换)。

有什么想法吗?

我不确定你为什么说@JsonProperty不起作用,以下内容会将地图值绑定到 POJO

public class MyObject {
    @JsonProperty("class")
    private String clazz;
    @JsonProperty("interface")
    private String interfejz;
    @JsonProperty("value")
    private String value;
// setters getters
}

最新更新