Jolt Transform规范编写:如何新增字段并覆盖原有字段值
正确Jolt规范说明
失效原因
你的输入JSON顶层是数组结构,之前编写的spec直接指定key5,是尝试在顶层数组下新增字段,无法匹配到数组内部的对象,因此不会生效。
仅新增key5的规范
[ { "operation": "modify-overwrite-beta", "spec": { "*": { "key5": "hjjhjk" } } } ]
其中*是通配符,匹配数组内的所有元素,精准定位到要修改的对象层级。
同时覆盖key4取值的规范
如果需要同时修改原有key4的取值,直接在同层级新增key4的配置即可,示例如下(示例中将key4覆盖为你需要的新值,可按需替换):
[ { "operation": "modify-overwrite-beta", "spec": { "*": { "key4": "你需要的新值", "key5": "hjjhjk" } } } ]
执行输出结果
使用仅新增key5的规范执行后,输出和你的预期完全一致:
[ { "id": "hjahskjjks", "key1": "Room Admin", "key2": "08-12-2018 09:29", "key3": 31, "key4": "jkjlkkl", "key5": "hjjhjk" } ]
内容的提问来源于stack exchange,提问作者akshay k.k
相关产品推荐
相关产品推荐

