在 Azure 逻辑应用程序中解析 JSON
Parsing JSON in Azure Logic App
我有一个 HTTP 侦听器,我正在发送一个 JSON post 正文。
{
"recipient":"bob@example.com",
"subject":"this is a test subject",
"body":"this is a test body email"
}
我试图在下一个流程中提取这些单独的参数,但它却出错了!
我希望实现的结果是 "bob@example.com" 作为下一步行动的输入
我试过
"@{triggers().outputs.body.Content.recipient}"
和各种变体,但我怀疑我遗漏了什么!
编辑添加
我目前正在通过 Powershell 发送 post 请求,尽管它最终会结束 c#
$a = @"
{"recipient":"bob@example.com","subject":"this is a test subject","body":"this is a test body email"}
"@
Invoke-WebRequest -Uri https://httplistenerc743421edf234899a1315aa38c6398bc.azurewebsites.net/listen -Method POST -Body $a
啊,这个技巧是 HTTP 侦听器正文的输出是一个字符串,因此您需要先将其转换为 JSON,然后才能解析它。有一个 @parse() 命令可以做到这一点。
因此,如果您这样做,它应该会起作用:
@{json(触发器().outputs.body.Content).收件人}
那应该给你收件人。如果这不起作用,请告诉我。
你必须在http监听器的header中定义content-type,之后你不需要解析http监听器的响应,它会自动按照描述的格式。
正如我对我所做的那样,其中 azure 函数返回 json 数据为 text/string:
@{body('azure_fun_Name').recipient}
@{body('azure_fun_Name').subject}
@{body('azure_fun_Name').body}
我有一个 HTTP 侦听器,我正在发送一个 JSON post 正文。
{
"recipient":"bob@example.com",
"subject":"this is a test subject",
"body":"this is a test body email"
}
我试图在下一个流程中提取这些单独的参数,但它却出错了!
我希望实现的结果是 "bob@example.com" 作为下一步行动的输入
我试过
"@{triggers().outputs.body.Content.recipient}"
和各种变体,但我怀疑我遗漏了什么!
编辑添加
我目前正在通过 Powershell 发送 post 请求,尽管它最终会结束 c#
$a = @"
{"recipient":"bob@example.com","subject":"this is a test subject","body":"this is a test body email"}
"@
Invoke-WebRequest -Uri https://httplistenerc743421edf234899a1315aa38c6398bc.azurewebsites.net/listen -Method POST -Body $a
啊,这个技巧是 HTTP 侦听器正文的输出是一个字符串,因此您需要先将其转换为 JSON,然后才能解析它。有一个 @parse() 命令可以做到这一点。
因此,如果您这样做,它应该会起作用:
@{json(触发器().outputs.body.Content).收件人}
那应该给你收件人。如果这不起作用,请告诉我。
你必须在http监听器的header中定义content-type,之后你不需要解析http监听器的响应,它会自动按照描述的格式。
正如我对我所做的那样,其中 azure 函数返回 json 数据为 text/string:
@{body('azure_fun_Name').recipient}
@{body('azure_fun_Name').subject}
@{body('azure_fun_Name').body}