如何使用Jolt转换拆分并展平含数组的嵌套JSON
Jolt转换方案:将含数组的JSON扁平化为SQL适配格式
输入JSON
{"product": ["test1","test2"],"Purchase": [1,2],"Renewal": [1,2]}
期望输出JSON
[{"product": "test1","Purchase": 1,"Renewal": 1},{"product": "test2","Purchase": 2,"Renewal": 2}]
Jolt转换规范
[ { "operation": "shift", "spec": { "*": { "*": { "@": "[&1].&2" } } } } ]
规范解释
- 外层
*:匹配根节点下的所有字段(product、Purchase、Renewal) - 中层
*:匹配每个数组内元素的索引(0、1) @:指代当前遍历到的数组元素值[&1].&2:将元素值存入索引为&1的对象中,对象的键为&2(即根节点对应的字段名)
通过这个shift操作,会按数组索引将对应位置的字段值合并为单个对象,最终组成适配SQL插入格式的扁平化JSON数组。
内容的提问来源于stack exchange,提问作者anton
相关产品推荐
相关产品推荐

