您好,我需要将 map 转换为 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");
因此,转换后,我将初始化值字段,但我不知道如何使用键“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 转换)。
有什么想法吗?
最佳答案
我不知道为什么你说@JsonProperty
不起作用,下面将把 map 值绑定(bind)到POJO
public class MyObject {
@JsonProperty("class")
private String clazz;
@JsonProperty("interface")
private String interfejz;
@JsonProperty("value")
private String value;
// setters getters
}
关于java - Jackson 在从 Map 转换为 POJO 时设置类属性的提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28167863/