如何用Jolt转换JSON?实现嵌套字段复制至根节点的方案
Jolt实现JSON字段复制需求
需求说明
输入JSON:
{ "report": { "q": "1", "b": "2" } }
需要转换为:
{ "report": { "q": "1", "b": "2" }, "q": "1" }
核心需求是将report.q的值复制到根节点的q字段,同时保留原report的完整结构。
解决方案
使用modify-default-beta操作即可实现,对应的Jolt转换规则如下:
[ { "operation": "modify-default-beta", "spec": { "q": "@(2,report.&)" } } ]
规则解释
modify-default-beta:该操作支持新增或修改字段,仅当目标字段不存在时才会赋值(此处根节点原本无q字段,因此会新增),且不会改动原有字段结构。@(2,report.&):Jolt路径引用语法,&指代当前要设置的键名q,2表示向上追溯2层上下文定位到根节点,最终指向report.q的值,以此完成字段值的复制。
内容的提问来源于stack exchange,提问作者bertin
相关产品推荐
相关产品推荐

