使用路径重构具有嵌套字段的JSON数据

时间:2018-03-05 20:58:12

标签: java json jackson jsonpath

我需要重塑(重命名/移动字段)包含嵌套字段的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,但无法找到明确的方法。如果有一个优雅的解决方案(或者至少不是太脏)使用杰克逊,我会错过,它也会很棒。

谢谢!

0 个答案:

没有答案