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

Azure Logic Apps中移除数组body字段适配API请求格式

解决Azure Logic Apps数据处理与API请求格式问题

1. 修正Select动作的输出层级问题

你当前Select输出带body层级,是因为Select的输入选错了对象。Dataverse查询返回的解析JSON结果,数组通常在value属性里,所以Select的输入要指定为解析JSON后的数组部分,用以下表达式:

body('Parse_JSON')?['value']

这样Select的输出就是纯数组,不会包含外层的body结构,直接匹配API对数组参数的要求。

2. 处理可选AddressLine字段,避免工作流失败

针对可选字段,不要直接硬引用(字段不存在时会触发空引用错误),用coalesce表达式处理空值——它会返回第一个非空值,字段不存在则返回预设的默认值(比如空字符串)。示例映射规则:

  • AddressLine1: coalesce(item()?['AddressLine1'], '')
  • AddressLine2: coalesce(item()?['AddressLine2'], '')
  • 必填字段直接引用:item()?['City']

这样即使字段不存在,工作流也能正常执行,不会因空值中断。

3. 正确构建API请求

API请求中直接将Select动作的输出(纯数组)绑定到对应参数位置即可,无需用字符串替换这种不规范的方法。比如API请求的JSON体可直接写为:

{
  "addresses": @{body('Select')}
}

通过逻辑应用的动态内容选择Select的输出,就能生成格式合规的请求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 00:52:11