Java Jackson-链接@JsonValue和Map
我有以下课程:Java Jackson-链接@JsonValue和Map,java,json,jackson,Java,Json,Jackson,我有以下课程: public class SomeKey { private final String name; @JsonValue public String getName() { return name; } @JsonCreator public SomeKey(final String name) { this.name = name; } } 我有以下容器: public class C
public class SomeKey {
private final String name;
@JsonValue
public String getName() {
return name;
}
@JsonCreator
public SomeKey(final String name) {
this.name = name;
}
}
我有以下容器:
public class Container {
@JsonSerialize
private final Map<SomeKey, Object> data;
}
换句话说,SomeKey
上的@JsonValue
被忽略。据我所知,链接@JsonValue
注释似乎存在一些问题。这是个错误还是我做错了什么
Jackson版本:2.6.2@araqnid我想答案也是这个问题的答案。这同样适用吗?这是一个没有自定义密钥序列化程序的版本(无论如何都不需要),所以它不适用。可能是您遇到了一个刚刚为2.6.3修复的错误(实际上从今天开始)。这两种代码都应该有效;如果后者仍然不能与2.6.3兼容,请针对
jackson-databind
提交一个bug。
public class Container {
private final Map<SomeKey, Object> data;
@JsonValue
public Map<SomeKey, Object> data() {
return data;
}
}