如何在 Azure 逻辑应用程序中转换 JSON?

How to transform JSON in Azure Logic Apps?

我正在尝试创建一个主要执行以下操作的 Azure 逻辑应用程序:

  1. 使用对 REST 服务的 HTTP 调用,REST 服务将 return JSON 与 ID。这工作正常,结果 JSON 看起来有点像这样:"workItems" : [ { "id": 118, }, { "id": 119, }, etc ]

  2. 我需要提取所有 ID,并将它们放入逗号分隔的字符串中,例如118, 119, etc

  3. 逗号分隔的字符串随后将用作另一个 HTTP REST 调用的一部分。

但是我在第 2 点遇到了困难。我看不到在哪里可以编写一些脚本或代码(无需构建自定义逻辑应用程序组件)来执行此转换。

目前我已经尝试使用 BizTalk 应用程序将 JSON 转换为 XML,然后使用 XPath,然后希望在某个时候将其恢复为字符串 - 但整个过程似乎过于复杂。

我知道我可以编写自定义应用程序,但如果我这样做了,那么我也可以在自定义应用程序中完成所有工作。如果可能,最好使用 Azure 的原生功能。

恐怕我可能遗漏了一些明显的东西。将不胜感激。

WebJobs Webhook 现已弃用。请改用 Azure Functions 通用 Webhooks - 它们具有与逻辑应用程序的直接集成支持。

一个选择是使用 WebJob Webhook and do the transformation/filter there. I have an example on GitHub 来过滤发布到 Slack 的帖子。如果您已经启动了 Web/Mobile/API 应用程序并且 运行,那么在其上托管 WebJob 很容易,因此您不一定需要额外的资源。

你的另一个选项,你强调了。部署一个 API 应用程序,它将为您执行 xform。

如果您想走 WebJob 路线并需要任何帮助,请告诉我,我们很乐意提供帮助。

尝试 CsScripting Api. 它使您能够执行一些简单的 c# 代码并提供可用的 NewtonSoft 库。我通常将代码编写为控制台应用程序,以便在将其插入逻辑应用程序操作之前先进行测试。