求助:使用JOLT将扁平JSON转换为嵌套JSON结构
搞定JOLT扁平转嵌套JSON的问题
嘿,我来帮你解决这个JOLT转换的难题!你的需求是把扁平JSON转成带有多层数组的嵌套结构,原来的规则没处理数组包装的核心逻辑,所以没得到预期结果。其实单步shift操作就能完成这个转换,下面是调整后的规则和详细解释:
最终JOLT转换规则
[ { "operation": "shift", "spec": { "id": "rewards_id", "aff_id": "aff[0].aff_id", "aff_name": "aff[0].aff_name", "aff_desc": "aff[0].aff_desc", "aff_corrltn_name": "aff[0].aff_corrltn[0].aff_corrltn_name", "aff_corrltn_id": "aff[0].aff_corrltn[0].aff_corrltn_id", "affil_trans_id": "aff[0].aff_corrltn[0].affil_trans_id", "misc_aff_dtl_name": "aff[0].aff_corrltn[0].misc_aff_dtl[0].name", "misc_aff_dtl_value": "aff[0].aff_corrltn[0].misc_aff_dtl[0].value", "oper_id": "aff[0].oper_id", "create_timestamp": "aff[0].create_timestamp", "update_timestamp": "aff[0].update_timestamp", "active_rcrd": "aff[0].active_rcrd" } } ]
规则关键点说明
- 数组包装逻辑:用
[0]指定数组的首个元素位置,自动把单个对象包装成数组结构(比如aff[0]就能让aff变成包含一个对象的数组,完全匹配你的预期格式)。 - 字段映射调整:
- 把输入里的
id直接映射为预期的rewards_id(注意你输入里的id是LIKKI MOSORU,而预期示例写的是Jeannine Rosario,如果是笔误的话,调整输入的id值即可)。 - 将
misc_aff_dtl_name和misc_aff_dtl_value分别映射为misc_aff_dtl[0].name和misc_aff_dtl[0].value,贴合预期的字段命名要求。
- 把输入里的
- 层级嵌套构建:通过
.串联嵌套路径,把扁平字段精准放到对应的层级位置,完成从扁平到嵌套的结构转换。
用这个规则处理你提供的输入JSON,就能得到完全符合预期的嵌套结构啦!
内容的提问来源于stack exchange,提问作者driven_spider
相关产品推荐
相关产品推荐

