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

Azure逻辑应用Liquid映射汇率算术运算失效问题排查

Azure逻辑应用Liquid映射计算平均汇率输出表达式文本的语法问题解析

核心语法问题分析

你的Liquid映射输出表达式文本而非计算结果,通常是由以下几个常见语法错误导致的:

1. 未使用Liquid表达式标签包裹计算逻辑

如果你的映射直接将表达式写成字符串形式,比如:

{
  "AverageRate": "(Ask+Bid)/2"
}

Liquid会将括号内的内容视为纯文本输出,不会执行计算。必须用{{ ... }}包裹计算逻辑,告诉Liquid这是需要解析执行的表达式。

2. 误用常规算术运算符而非Liquid算术过滤器

Liquid中没有原生的+数字加法运算符(+默认用于字符串拼接),直接写Ask+Bid会把两个数值字符串拼接在一起(比如"1.2"+"1.3"会得到"1.21.3"),而非数字相加。必须使用Liquid专用的算术过滤器:

  • plus: 用于数字加法
  • divided_by: 用于数字除法

3. XML节点路径引用错误

如果没有正确指向XML中的Ask、Bid节点,Liquid无法获取到数值,也会导致计算失败或输出异常。比如XML结构如下:

<RateData>
  <Ask>1.25</Ask>
  <Bid>1.23</Bid>
</RateData>

你需要根据XML的层级结构正确引用节点,比如content.RateData.Ask或content.Ask(取决于逻辑应用传递的上下文)。

正确的Liquid映射示例

假设你的XML根节点下直接包含Ask和Bid字段,正确的映射写法应该是:

{
  "AverageRate": {{ (content.Ask | plus: content.Bid) | divided_by: 2 }}
}

如果需要保留指定小数位数,可以添加round过滤器:

{
  "AverageRate": {{ (content.Ask | plus: content.Bid) | divided_by: 2 | round: 4 }}
}

验证要点

  • 确保Ask和Bid节点的内容是纯数字格式,没有多余的非数字字符(比如货币符号、空格),否则Liquid无法正确转换为数字进行计算。
  • 检查逻辑应用中传递给Transform工具的XML结构,确认节点路径与映射中的引用一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:06:25