You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2 Integration Studio中Property Mediator读取Double类型值报错如何解决?

解决WSO2 Property Mediator读取JSON浮点值报错问题

问题拆解

报错信息包含两个核心原因:

  • Unknown type : DOUBLE:WSO2 Property Mediator不支持DOUBLE作为属性类型,正确的浮点类型标识是FLOAT
  • java.lang.NumberFormatException: empty String:要么$.totalPrice对应的JSON字段为空,要么路径书写错误导致未取到有效值

正确处理方案

1. 修正属性类型

将配置中的type="DOUBLE"替换为type="FLOAT",WSO2的Property Mediator仅支持FLOAT作为浮点数值的类型声明。

修正后的配置代码:

<property expression="json-eval($.totalPrice)" name="TOTAL_PRICE" scope="default" type="FLOAT"/>

2. 确保字段有效且路径正确

  • 检查传入的JSON负载,确认totalPrice字段存在且为有效数字格式(如29.99,而非空字符串或非数字内容)
  • 验证JSON路径是否匹配实际结构,若totalPrice嵌套在子对象中,需调整路径为$.xxx.totalPrice(例如$.order.totalPrice)

3. 处理空值场景(可选)

如果totalPrice可能为空,建议添加判断逻辑避免报错,示例配置:

<filter xpath="boolean(json-eval($.totalPrice)) and json-eval($.totalPrice) != ''">
    <then>
        <property expression="json-eval($.totalPrice)" name="TOTAL_PRICE" scope="default" type="FLOAT"/>
    </then>
    <else>
        <!-- 为空时设置默认值 -->
        <property name="TOTAL_PRICE" scope="default" type="FLOAT" value="0.0"/>
    </else>
</filter>

内容的提问来源于stack exchange,提问作者Ruby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:48:08