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

Azure Logic App数组类型变量输出为Null,如何获取预期输出?

解决Azure Logic App数组变量返回Null的问题

排查与修正方案

  • 校验路径匹配性:先确认你的JSON负载结构和表达式中的层级完全对应。比如allof是否为数组且存在索引0的元素、dimensions数组是否有索引0的项、value字段是否存在。只要层级中某一步无对应值,空值传播运算符?会直接返回Null,导致整个表达式结果为空。
  • 分步测试表达式:
    1. 先单独输出triggerBody()?['data']?['essentials']?['alertContext']?['condition'],确认能否拿到condition的完整内容。
    2. 逐步添加后续层级,比如triggerBody()?['data']?['essentials']?['alertContext']?['condition']?['allof'],查看allof数组的实际元素数量和结构。
    3. 最后定位到dimensions和value字段,确保每个层级的键名和数组索引都准确。
  • 调整表达式逻辑:
    • 如果目标是提取单个value并包装成数组,先确认该路径确实存在有效值,再使用原表达式;若路径有误,修正键名或索引即可。
    • 如果目标是获取dimensions下所有value组成的数组,改用select函数批量提取:
      select(triggerBody()?['data']?['essentials']?['alertContext']?['condition']?['allof']?[0]?['dimensions'], item()?['value'])
      
  • 检查键名大小写:JSON键名区分大小写,对照你提供的HTTP输出Body Schema,确保表达式中的键名(比如allof、dimensions)和Schema定义完全一致。

示例验证

假设负载中allof[0].dimensions结构如下:

{
"dimensions": [
{"name": "ResourceGroup", "value": "my-rg"},
{"name": "ResourceName", "value": "my-appinsights"}
]
}
使用上述select函数会直接得到数组["my-rg", "my-appinsights"]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 14:32:36