不少团队在用Manus处理Stripe这类系统的原始JSON数据时,都会踩同一个坑——金额字段的单位错位。
举个例子,Stripe传过来的amount字段,单位是美分。也就是说,它告诉你1000,实际是10.00美元。如果系统直接把这个值当作整型去存,那后续所有报表、汇率换算、订单统计,全都跟着跑偏。更隐蔽的是created字段,它通常是带时区的时间字符串,如果被当作普通字符串存下来,后续做时间维度分析时就等着头疼吧。
问题根源在哪?Manus默认会把JSON里所有数字字段都映射成NUMBER(38,0),也就是没有小数点的整型。1000存成1000美元,而不是10.00美元。这差距可不是一星半点。
好在解决办法很直接——启用自动类型推断。

启用自动类型推断
具体怎么做?进入Manus Pro版的项目设置页,点击「数据接入」,找到目标数据源卡片。注意看卡片右上角那个齿轮图标,点进去,勾选「启用自动类型推断」就行了。
这一步不能省。否则金额单位错位是必然的——系统默认把所有数字字段当作NUMBER(38,0),Stripe的amount单位又是美分,1000不转换成10.00美元,后面全盘皆输。
验证字段映射结果
回到数据源详情页,下拉到「字段预览」区域。盯住amount字段右侧的标注:显示NUMBER(38,2)才算成功,说明货币精度已经映射上了。如果还是NUMBER(38,0),说明自动推断没触发,先检查一下JSON样本够不够多样——至少得包含3条不同金额值的记录。
created字段应该显示TIMESTAMP_TZ,并且样例值后面要带+00:00或+08:00这样的时区标识。如果显示VARCHAR,说明原始JSON里这个字段可能被双引号包着,或者根本不是ISO格式的时间字符串(比如"2024-03-15T14:30:00Z"这种才合格),那就得先去清洗源数据了。
手动覆盖错误映射
自动推断失效怎么办?两种方法兜底。
方法一:点击字段名右侧的「编辑」图标,弹窗里选目标类型,然后「保存并重载样本」。
方法二:更直接一点,在字段预览区直接点击类型标签(比如NUMBER),下拉选TIMESTAMP_TZ或NUMBER(38,2),按回车确认。
注意一点:手动修改后,系统会锁定该字段的类型,不再响应后续JSON结构的变化。所以仅当自动推断结果持续出错时,才走手动这条路。
说到底,金额单位错位不是小概率Bug,而是一碰到就全盘皆输的硬伤。自动类型推断这个功能,值得每次接入新数据源时都确认一下是否开启。
