小编use*_*121的帖子

Jackson 可以仅通过注释反序列化为 Map<Long, String> 吗?

我有一个包含地图属性的 json 字符串,例如

{"map":{"1":"value"}, ...}
Run Code Online (Sandbox Code Playgroud)

当 Jackson 将其反序列化为包含 an 属性的类时Map<Long, String> map,它似乎执行了 a map.put(null,"1=value"). 在序列化时,它会将对象序列化为相同的格式。

有没有办法让杰克逊正确地反序列化为只有注释的 Map 或者我需要制作一个自定义序列化程序。

带有 getter/setter 的示例对象:

@JsonTypeInfo(use = JsonTypeInfo.Id.MINIMAL_CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class")
public class exampleObject {
  Map<Long, String> valueMap;

  public Map<Long, String> getValueMap() {
    return valueMap;
  }

  public void setValueMap(Map<Long, String> valueMap) {
    this.valueMap = valueMap;
  }
}
Run Code Online (Sandbox Code Playgroud)

java json dictionary jackson json-deserialization

5
推荐指数
1
解决办法
1413
查看次数

标签 统计

dictionary ×1

jackson ×1

java ×1

json ×1

json-deserialization ×1