如何编写Jolt转换规范实现指定JSON结构输出?
正确Jolt转换规范
[ { "operation": "shift", "spec": { "0": { "ScoreInfo": { "Team": { "*": { "ID": ["Team[&1].ID", "Team[&1].Source.ID"], "HV": "Team[&1].Source.HV" } } } } } }, { "operation": "modify-overwrite-beta", "spec": { "Team": { "*": { "ID": "toString(@(1,ID))" } } } } ]
执行后输出结果
{ "Team": [ { "ID": "1", "Source": { "ID": 1, "HV": 1 } }, { "ID": "3", "Source": { "ID": 3, "HV": 2 } } ] }
规范逻辑说明
- shift阶段遍历原
ScoreInfo.Team数组元素,通过[&1]引用当前元素的数组下标,保证输出Team字段为数组结构 - 仅显式指定需要保留的
ID、HV字段写入目标结构,自动过滤掉不需要的Score字段 - modify阶段将外层
ID字段从数字类型转为字符串类型,匹配预期输出的格式要求,若不需要严格要求外层ID为字符串,可直接删除第二个modify操作。
内容的提问来源于stack exchange,提问作者emerson
相关产品推荐
相关产品推荐

