请求调整Jolt转换规则,将Photos数组的no字段转为字符串类型
Jolt规则调整方案:将Photos数组的no字段转为字符串(支持动态数组长度)
输入示例
{ "Photos": [ {"no": 1, "url": "pic1.jpg"}, {"no": 2, "url": "pic2.jpg"}, {"no": 3, "url": "pic3.jpg"} ] }
当前Jolt规则(仅复制结构)
[ { "operation": "shift", "spec": { "Photos": "Photos" } } ]
当前输出(no为数字类型)
{ "Photos": [ {"no": 1, "url": "pic1.jpg"}, {"no": 2, "url": "pic2.jpg"}, {"no": 3, "url": "pic3.jpg"} ] }
期望输出(no为字符串类型,支持任意长度的Photos数组)
{ "Photos": [ {"no": "1", "url": "pic1.jpg"}, {"no": "2", "url": "pic2.jpg"}, {"no": "3", "url": "pic3.jpg"} ] }
调整后的Jolt规则
[ { "operation": "shift", "spec": { "Photos": "Photos" } }, { "operation": "modify-overwrite-beta", "spec": { "Photos": { "*": { "no": "=toString" } } } } ]
规则说明
- shift操作:完整保留输入的层级结构,确保Photos数组及其他字段(如果存在)的布局不变。
- modify-overwrite-beta操作:用
*匹配Photos数组的任意索引元素,针对每个元素的no字段,通过=toString函数强制转换为字符串类型。这个写法天然支持动态数组长度,不管数组包含3个、4个还是更多元素,都会统一处理。
内容的提问来源于stack exchange,提问作者Philanthropic
相关产品推荐
相关产品推荐

