求可过滤字段并转换future结构的Jolt Spec配置
Jolt转换方案:动态日期转数组+字段重命名
示例输入JSON
{ "some_ignored_field": "value", "future": { "2024-04-14": { "rev": 100, "sold": 5, "ignored_field": "ignore" }, "2024-04-15": { "rev": 200, "sold": 10, "another_ignored": "skip" } }, "other_ignored": "test" }
目标输出JSON
{ "Group_Dates": [ { "date": "2024-04-14", "revenue": 100, "sold_count": 5 }, { "date": "2024-04-15", "revenue": 200, "sold_count": 10 } ] }
最终Jolt Spec
[ { "operation": "shift", "spec": { "future": { "*": { "@(1,&)": "Group_Dates[#2].date", "rev": "Group_Dates[#2].revenue", "sold": "Group_Dates[#2].sold_count" } } } } ]
关键逻辑说明
- 用
shift操作完成所有转换:过滤不需要的字段、重命名指定字段、重构数组结构 future节点是唯一被处理的顶层节点,其他字段直接被忽略*匹配future下所有动态日期键,不管日期格式是什么都能适配@(1,&)抓取当前日期键的值,作为数组元素的date字段#2用日期键的索引作为数组下标,保证每个日期对应数组里的一个独立对象rev直接映射为revenue,sold直接映射为sold_count,多余字段自动丢弃
内容的提问来源于stack exchange,提问作者Optimizer
相关产品推荐
相关产品推荐

