JOLT脚本筛选含parent_info的JSON数组出现重复行如何解决
问题原因
你当前使用的脚本出现重复输出的核心逻辑问题是:你遍历了parent_info字段下的所有子键,你提供的输入示例中parent_info包含2个子字段,因此每个符合筛选条件的数组元素会被重复插入结果数组2次,最终出现重复行。
修改后的JOLT脚本
不需要遍历parent_info的子键,只要检测到parent_info键存在,就直接将它所属的上层对象加入结果数组即可:
[ { "operation": "shift", "spec": { "*": { "parent_info": { "@1": "[]" } } } } ]
输出结果验证
使用你提供的输入运行上述脚本后,输出将为无重复的筛选结果:
[ { "ID": 5, "username": "test1", "parent_info": { "parent_id": 4, "parent_username": "test" } }, { "ID": 3, "username": "admin1", "parent_info": { "parent_id": 2, "parent_username": "admin" } } ]
内容的提问来源于stack exchange,提问作者Tmello225
相关产品推荐
相关产品推荐

