JOLT转换问题:拆分嵌套JSON并关联KH、ref字段至TRD项
JOLT转换问题:拆分JSON列表并为每个TRD元素携带上层字段
问题分析
你当前的JOLT Spec使用[#2]作为目标数组索引,#2指向的是外层数组中父对象的索引,同时会匹配TRD数组内的元素索引。这导致不同父对象中索引相同的TRD元素被合并到同一个结果数组位置,最终字段值被合并为数组,和预期输出不符。
修正后的JOLT Spec
[ { "operation": "shift", "spec": { "*": { "TRD": { "*": { "@(2,KH)": "[].KH", "@(2,ref)": "[].ref", "KATEGORIE": "[].KATEGORIE", "NR": "[].NR", "DNR": "[].DNR" } } } } } ]
关键改动说明
- 使用
[]作为目标数组的位置标识:JOLT会自动为每个TRD元素创建一个新的数组项,确保每个TRD元素独立存在,不会和其他父对象中同索引的TRD元素合并。 @(2,KH)和@(2,ref):向上遍历2层(从当前TRD元素层级,到外层的父对象)获取对应的KH和ref值,绑定到当前TRD元素转换后的对象中。
验证结果
该Spec会生成你预期的输出:每个TRD元素单独成为数组中的一个对象,同时携带对应的KH和ref字段,完全符合存入数据库的格式要求。
内容的提问来源于stack exchange,提问作者InuSeage
相关产品推荐
相关产品推荐

