在Azure逻辑应用程序中解析JSON

在Azure逻辑应用程序中解析JSON,azure,azure-logic-apps,Azure,Azure Logic Apps,我有一个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.recip

我有一个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#发送


这其中的诀窍是HTTP监听器主体的输出是一个字符串,所以在解析它之前需要将其转换为JSON。有一个@parse()命令来完成这项工作

因此,如果您这样做,它应该会起作用:

@{json(trigger().outputs.body.Content.recipient}


这应该给你收件人。如果不起作用,请告诉我。

您必须在http listener的标头中定义内容类型,之后您不需要解析http listener的响应,它将自动以所述格式进行解析。

就像我在azure函数以文本/字符串形式返回json数据时所做的那样:

@{body('azure_fun_Name').recipient}
@{body('azure_fun_Name').subject}
@{body('azure_fun_Name').body}

您是如何发送JSON帖子的?@ShaunLuttin通过Powershell-请参阅edit您基本上是使用此过程来设置侦听器的吗?我想确保我回答了正确的问题。是的,监听器工作正常,如果我只放置“@{triggers().outputs.body.Content}”,那么它将把整个JSON转发到我想要的任何地方(我在一个松弛连接器中测试它),但我想将JSON反序列化到它的components@ShaunLuttin非常感谢——并提醒自己,删除该侦听器现在我已将其发布到universe;)那太好了!谢谢——在一个相关的问题上,我想知道关于如何发现这些东西的问题是否值得(或者它是否仅仅来自于编写这些东西的人,而不是像我一样对它们进行黑客攻击!)这是一个好问题。语法文档可以找到,但我们正在努力确保更容易找到。如果您有任何问题(或反馈,我们也喜欢:),欢迎随时直接联系我。Jeholan[at]microsoft.com仅供参考,
@parse
现在已被弃用。改用
@json
@{body('azure_fun_Name').recipient}
@{body('azure_fun_Name').subject}
@{body('azure_fun_Name').body}