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

如何在Azure Logic Apps中提取JSON响应中指定名称对应的ID值

在Azure Logic Apps中从REST API返回的JSON数组提取指定name对应的id值

假设你已经通过参数或变量(比如名为TargetListName的变量)存储了要匹配的name值,按以下步骤操作即可提取对应的id并赋值给变量:

步骤1:获取REST API响应

先通过HTTP动作调用目标REST API,确保能获取到示例中的JSON数组响应。

步骤2:筛选匹配name的对象

添加Filter Array动作:

  • 输入:选择HTTP动作返回的JSON数组(表达式为body('HTTP'),替换成你实际的HTTP动作名称)
  • 筛选条件:设置为 item()?['name'] 等于 你的目标参数/变量(比如variables('TargetListName')或parameters('TargetListName'))

这个动作会返回只包含匹配name的对象的数组。

步骤3:提取id值并赋值给变量

添加Set Variable动作:

  • 变量名称:选择你要赋值的目标变量
  • 值:输入表达式 first(body('Filter_Array'))?['id']
    • first() 用来取筛选后数组的第一个元素(适配唯一匹配的场景)
    • ?['id'] 用来安全访问对象的id属性,避免空值报错

额外处理:无匹配值的情况

如果担心没有匹配到对应name的对象导致报错,可以用coalesce函数设置默认值,比如:

coalesce(first(body('Filter_Array'))?['id'], -1)

这样当没有匹配结果时,变量会被赋值为-1(可替换为你需要的默认值)

示例响应参考

[
  {
    "id": 1,
    "name": "xyz-List",
    "data": {
      "urls": [
        "*.test1.com",
        "*.test2.com"
      ],
      "type": "exact"
    },
    "modify_by": "admin@xyz.com",
    "modify_time": "2022-06-29T21:05:27.000Z",
    "modify_type": "Created",
    "pending": 0
  },
  {
    "id": 2,
    "name": "abc-List",
    "data": {
      "urls": [
        "www.mytesting.com"
      ],
      "type": "exact"
    },
    "modify_by": "admin@xyz.com",
    "modify_time": "2022-06-29T21:05:27.000Z",
    "modify_type": "Created",
    "pending": 0
  },
  {
    "id": 3,
    "name": "azure-list",
    "data": {
      "type": "exact",
      "urls": [
        "www.xyz.com",
        "www.azure-test.com"
      ],
      "json_version": 2
    },
    "modify_by": "admin@xyz.com",
    "modify_time": "2022-09-26T01:25:20.000Z",
    "modify_type": "Edited",
    "pending": 0
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:50:25