我想利用Jackson基础架构将无类型的Map / List结构转换为POJO层次结构。 我需要的是非常接近
jsonNode = objectMapper.valueToTree(MapHierarchy) followed by
pojoTree = objectMapper.treeToValue(jsonNode)
...除了我需要动态修改字段名称:在源Map / List层次结构中找到的名称在POJO类上声明为自定义注释。 这是一个完整的例子:
public class Cat
{
@MapField("attr:col")
@JsonProperty("color")
private String _color;
}
...和源地图:
{
"attr:col" -> "black"
}
...我想从中获得一个Cat实例。
我确信必须有一种优雅的方法来实现这一点,使用Jackson API,但我无法弄清楚如何...任何建议?显然,我不想创建第二个并行类层次结构,只是为了通过注释来描述Map的反序列化。 额外的好处是能够转换地图而不通过字符串化的JSon,我相信valueToTree是如何工作的。