从Map转换为POJO时,jackson为类属性设置提示

时间:2015-01-27 10:10:54

标签: java dictionary mapping jackson pojo

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

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

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

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

因此转换后我将初始化值字段,但我不知道如何使用“interface”和“class”键分配值。

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

@JsonProperty注释不起作用(我认为它不适用于非JSON转换)。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不确定为什么你说@JsonProperty无法正常工作,以下内容会将地图值绑定到POJO

public class MyObject {

    @JsonProperty("class")
    private String clazz;
    @JsonProperty("interface")
    private String interfejz;
    @JsonProperty("value")
    private String value;

// setters getters
}