Jolt转换问题:JSON数组提取公共字段为根节点,其余字段整合为data数组
正确Jolt转换规则
[ { "operation": "shift", "spec": { "0": { "table_name": "table_name" }, "*": { "table_name": null, "*": "data[&1].&" } } } ]
原规则错误原因
- 遍历输入数组每一项时,反复向根节点
table_name字段写入值,多个重复值会自动合并为数组 - 写入
data数组时固定使用下标[0],所有数组项的属性都被塞入data的第一个对象,同属性名的值会被合并为数组
规则说明
上述规则仅取第一个数组项的table_name作为全局值,避免重复生成数组;同时用输入数组的原生下标作为data数组的下标,保证每一项的属性独立存储在对应对象中,不会出现字段合并为数组的问题。如果所有输入数组项的table_name值保证一致,该规则完全适用。
内容的提问来源于stack exchange,提问作者Protector20
相关产品推荐
相关产品推荐

