如何从TreeNode反序列化单个字段?

时间:2016-01-20 16:16:20

标签: java jackson

JsonParser.readValueAsTree()返回一个TreeNode,但不清楚如何反序列化该树的复杂属性。例如,我想反序列化Map<String, Object>类型的属性。

1 个答案:

答案 0 :(得分:0)

诀窍似乎是使用ObjectCodec如下:

JsonParser p = ...;
ObjectCodec codec = p.getCodec();
TreeNode node = p.readValueAsTree();
Map<String, String> childToParentIds = codec.treeAsTokens(node.get("childToParent")).readValueAs(
                new TypeReference<Map<String, String>>()
            {
            });