JOLT转换JSON数组时无法展平内部字符串数组的问题求助
JOLT转换修正:展开含内部字符串数组的JSON数组
你的JOLT规则多了一层不必要的嵌套,导致无法正确提取Subjects数组里的元素。修正后的规则如下:
[ { "operation": "shift", "spec": { "*": { "name": "[&3].name", "Subjects": { "*": { "@": "[&3].Subject" } } } } } ]
规则说明:
- 最外层的
*遍历输入JSON数组中的每个对象 name字段使用[&3].name映射,&3表示向上回溯3级路径(对应最外层数组的索引),确保每个科目对象都能关联到正确的nameSubjects下的*遍历数组内的每个科目元素,@代表当前元素的取值,将其映射为Subject字段,同样用[&3]指定所属的对象位置
验证效果:
输入JSON:
[ { "name": "St", "Subjects": [ "A1" , "A2"] }, { "name": "MD", "Subjects": [ "B1" , "B2", "B4"] } ]
转换后输出:
[ { "name": "St", "Subject": "A1" }, { "name": "St", "Subject": "A2" }, { "name": "MD", "Subject": "B1" }, { "name": "MD", "Subject": "B2" }, { "name": "MD", "Subject": "B4" } ]
内容的提问来源于stack exchange,提问作者thots
相关产品推荐
相关产品推荐

