如何在Apache NiFi中使用Jolt将带多位小数的字符串转为浮点数
在Apache NiFi中用Jolt将字符串类型数值转为浮点数
你可以用Jolt的modify-overwrite-beta转换结合toDouble函数实现需求,同时用shift操作保留原有JSON结构。
具体Jolt转换规范
[ { "operation": "shift", "spec": { "*": "&" } }, { "operation": "modify-overwrite-beta", "spec": { "value": "=toDouble(@(1,value))" } } ]
逻辑说明
- shift操作:
"*": "&"是通配符匹配规则,会原样保留输入的所有字段,确保JSON结构不被破坏。 - modify-overwrite-beta操作:
=toDouble(@(1,value))会把value字段的字符串值转换为双精度浮点数,@(1,value)用于引用当前层级下的value字段原始值。
示例验证
- 输入JSON:
{"value": "0.000000123"}
- 输出JSON:
{"value": 0.000000123}
扩展提示
如果有多个需要转换的字符串数值字段,只需在modify-overwrite-beta的规则里添加对应字段即可。比如要处理price字段,就补充"price": "=toDouble(@(1,price))"。
内容的提问来源于stack exchange,提问作者mycuser
相关产品推荐
相关产品推荐

