如何使用Jolt提升JSON对象中的元素层级?
Jolt转换规则修正方案
你需要调整shift操作的规则,直接将Applications对象内的字段提取到外层,同时完成字段重命名,具体规则如下:
[ { "operation": "shift", "spec": { "Content": { "*": { "CandidateFirstName": "[&1].FirstName", "Applications": { "ApplicationId": "[&2].ApplicationsId", "Sarasa": "[&2].Sarasa" } } } } } ]
规则说明:
Content.*遍历原数组中的每个候选对象CandidateFirstName: "[&1].FirstName" 将原字段重命名为FirstName,并放入对应索引的数组元素中(&1代表当前遍历的数组索引)Applications下的字段需要用&2定位到外层数组元素(当前处于Applications子层级,向上回溯两层才能拿到原数组的索引):ApplicationId重命名为ApplicationsIdSarasa直接保留原字段名提取到外层
将上述规则应用到你的输入JSON后,就能得到期望的扁平结构输出,同时完全移除Applications嵌套对象。
内容的提问来源于stack exchange,提问作者Nahuel González
相关产品推荐
相关产品推荐

