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

Azure Logic Apps设计器:如何用Compose表达式从JSON提取指定值?

Logic Apps 提取externalId中的数字片段解决方法

你的场景是已解析JSON的body.externalId值为TestingAndLogid241/Callid-273,需要提取末尾的273,以下是两种可行方案:

方案1:灵活分割提取(推荐)

利用split和last函数组合,适配固定格式的字符串分割,无需依赖固定位置:

last(split(last(split(body('Parse_JSON_from_conversation_(Call_Metadata)')?['externalId'], '/')), '-'))

逻辑说明:

  1. 先用split(..., '/')将字符串按斜杠分割,得到数组['TestingAndLogid241', 'Callid-273']
  2. 用last()取数组最后一项Callid-273
  3. 再用split(..., '-')将该字符串按横杠分割,得到数组['Callid', '273']
  4. 最后用last()取数组最后一项,即目标值273

方案2:固定位置截取(仅适用于数字长度固定的场景)

如果确定目标数字始终是3位,可通过substring结合长度计算截取:

substring(body('Parse_JSON_from_conversation_(Call_Metadata)')?['externalId'], sub(length(body('Parse_JSON_from_conversation_(Call_Metadata)')?['externalId']), 3))

逻辑说明:

  1. 用length()获取externalId字符串的总长度
  2. 用sub()计算起始位置:总长度减去3(数字的固定长度)
  3. 用substring()从起始位置开始截取到末尾,得到273

使用方法:

在Compose(Issue)步骤的输入框中,直接粘贴上述任意一种表达式即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:02:42