我需要重塑(重命名/移动字段)包含嵌套字段的JSON数据文件,但发现使用Jackson非常困难(或特别难看)。
例如,如果我有这样的JSON行:
[
{"id": 5, "date": "20180301", "meta": {"other_meta": "aze", "z": 1}
...
]
以及使用某种xpath重新整形JSON的映射:
old_field new_field
"/id": "/id"
"/date": "/meta/date"
"/meta/z": "/z"
"/meta": "/metadata"
结果如下:
[
{"id": 5, "z": 1, "metadata": {"date": "20180301", "other_meta": "aze"}
...
]
它当然是一个简单的例子,但我们可以想象更复杂的重塑。
是否有一个Java库能够使用路径进行这样的转换(或者不是,可能是编写映射的另一种方式)并且可能与Jackson对象模型兼容?我看了一下JsonPath,但无法找到明确的方法。如果有一个优雅的解决方案(或者至少不是太脏)使用杰克逊,我会错过,它也会很棒。
谢谢!