仅用JOLT的shift操作能否合并metrics与dimensions属性为单条记录
JOLT 转换方案说明
仅通过shift操作完全可以实现你需要的属性合并效果。你当前配置失效的原因是直接将metrics和dimensions两个完整对象赋值到同一个数组下标位置,最终会生成包含两个嵌套对象的数组项,而非平级合并的属性。
你可以使用如下规范完成转换:
[ { "operation": "shift", "spec": { "*": { "metrics": { "*": "[&2].&" }, "dimensions": { "*": "[&2].&" } } } } ]
逻辑说明
- 外层
*匹配输入数组的每一项下标 - 分别遍历
metrics和dimensions下的所有子属性(用*匹配) [&2]表示取往上数2层的数组下标值,将子属性放到对应下标的数组项根层级&表示直接沿用当前子属性的原名,最终实现两类属性平级合并的效果
转换后输出结果和你给出的预期完全一致。
内容的提问来源于stack exchange,提问作者funnelCONN
相关产品推荐
相关产品推荐

