从 JSON 输出中分割结果

问题描述 投票:0回答:1

在 Azure 逻辑应用程序中,我尝试在从 HTTP 请求创建团队 ID 后获取团队 ID。然后我使用 Compose 和 Parse JSON 来查看结果。

输出将如下所示(缩短版本):

"body": { "Location": "/teams('TeamsID')/operations ('操作 ID')", "request-id": "请求 ID", "Content-Lenght": "0"

每次运行时 TeamsID 都会不同,因此我无法将其设置为静态变量。我想要实现的是拉取 TeamsID 以便稍后将其设置为变量。

json azure-logic-apps power-automate
1个回答
0
投票

我假设输出确实看起来像你的问题中指定的那样 -

"body": { "Location": "/teams('TeamsID')/operations('operation ID')", "request-id": "request ID", "Content-Lenght": "0" }
- 带单引号等,而不是像指定的那样,例如在这篇 Microsoft 文章中:使用 Microsoft Teams API 创建团队并管理成员。无论如何,如果您问题中的输出格式错误,提取 Teams ID 的方法仍然类似于下面描述的方法。

第 1 步 - 初始化一个空字符串变量:

Initialize a variable

第 2 步 - 使用 HTTP 请求创建团队,接收问题中指定格式的响应:

{
  "Location": "/teams('AAAA')/operations('BBBB')",
  "request-id": "CCCC",
  "Content-Lenght": "0"
}

Create a team

第 3 步 - 首先使用正斜杠作为分隔符对 split

 值进行 
Location
 操作,然后使用单引号作为分隔符拆分结果数组的第二个值,从而提取 Teams ID 值;该数组的第二个值将是您需要分配给变量的值:

@{split(split(body('Create_a_team')?['Location'], '/')?[1], '''')?[1]}

Set variable - Code View

结果

Set variable - Outputs

© www.soinside.com 2019 - 2024. All rights reserved.