java - Jackson 在从 Map 转换为 POJO 时设置类属性的提示

标签 java dictionary mapping jackson pojo

您好,我需要将 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/

相关文章:

python - 如何从 python 中的字典中获取有序输出?

java - 我在使用此代码将 csv 转换为 json 架构时收到此错误

java - 当 url 有参数时,JSF 不会呈现

java - Java 标准库如何与 native 代码通信?

创建嵌套字典的 Pythonic 方式

java - 使用 GWT + AppEngine 还是 LAMP?现有 Java 开发人员

python - 比较 2 个字典,如果值相同,但键不同,将键添加到 python 中的新列表

ios - GraphQL 对象按目标映射具有不同模式的 Apollo

java - 如何将文本文件中的字符串分成不同的数组(java)

java - 从 Finance.yahoo.com 以 csv 格式检索 BSE/NSE 上市股票价格时获取 "N/A"