如何在Jolt Transform中实现千字节到千兆字节的转换?
Jolt转换方案及学习建议
一、添加KB转GB逻辑的Jolt配置
你需要在现有转换流程中加入modify-overwrite-beta操作完成数值计算和格式化,以下是完整的Jolt Transform代码:
[ { "operation": "shift", "spec": { "*": { "*": "&", "storage*": { "@(1,&)": "&" } } } }, { "operation": "shift", "spec": { "*": "&", "storage": { "*": { "NAME": "storage.[&1].drive_name", "SIZE": "storage.[&1].capacity", "TYPE": "storage.[&1].type_enum" } } } }, { "operation": "modify-overwrite-beta", "spec": { "storage": { "*": { "capacity": "=divide(toInteger(@(1,capacity)), 1073741824)", "capacity": "=formatNumber('0.####', @(1,capacity))" } } } } ]
关键说明:
toInteger(@(1,capacity)):将字符串类型的SIZE值转为整数,避免计算误差=divide(..., 1073741824):执行转换公式,1073741824是1024×1024×1024的计算结果=formatNumber('0.####', ...):格式化结果,保留最多四位小数,匹配你期望的输出格式
二、新手学习资料建议
- 优先吃透官方核心操作文档,重点掌握
shift、modify、default这几个高频操作的语法和适用场景 - 收集常见转换案例:比如数组结构调整、字段重命名、数值计算与格式化,通过模仿案例快速建立认知
- 用在线Jolt测试工具实时验证配置:输入原始JSON、粘贴Jolt规则,直接查看输出结果,边调边学效率更高
- 整理个人常用规则片段:把遇到的通用转换逻辑保存下来,后续遇到类似场景直接复用
内容的提问来源于stack exchange,提问作者Arjan
相关产品推荐
相关产品推荐

