如何使用JOLT将数组对象的父属性移至子对象中?
正确的JOLT转换配置(将数组对象属性包裹到details子对象)
你的需求是把数组中每个对象的所有属性,都包裹到该对象内部的details子对象中,正确的JOLT转换配置如下:
[ { "operation": "shift", "spec": { "*": { "@": "&1.details" } } } ]
逻辑说明:
*遍历输入数组的每一个元素&1表示引用当前层级的父级索引(也就是数组元素的位置序号),以此保持输出的数组结构@代表当前遍历到的整个对象,将其赋值给&1.details,就能让每个数组元素都生成一个包含details子对象的新对象
原配置问题分析:
你之前的配置"@": "details.&"中,&指向的是外层的数组索引,所以会把所有数组元素都作为值,放到details对象的索引键下,最终输出变成了一个包含所有元素的对象,而非保持原数组结构。
内容的提问来源于stack exchange,提问作者Coeus
相关产品推荐
相关产品推荐

