给定一个 Java 类,如下所示:
class MyClass {
String value;
Map<String,Object> map;
@JsonProperty("value")
public String getValue() {
return value;
}
@JsonProperty("map")
public Map<String,Object> getMap {
return map;
}
}
Run Code Online (Sandbox Code Playgroud)
Jackson 将像这样转换为 JSON:
{
"value": "abc",
"map": {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是以map某种方式“展平”属性,使其内容出现在 JSON 结构的“顶级”,如下所示:
{
"value": "abc",
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Run Code Online (Sandbox Code Playgroud)
这是否可以通过 Jackson 注释的任何组合声明性地实现?
(这是我实际问题的简化,所以我不是在寻找诸如“编写自己的自定义 MyClass 序列化程序”之类的答案。实际上,此类必须在我无法直接控制的场景中使用自定义 ObjectMappers。)