【问题标题】:How to transform JSON in Azure Logic Apps?如何在 Azure 逻辑应用中转换 JSON?
【发布时间】:2015-10-15 14:24:58
【问题描述】:

我正在尝试创建一个广泛执行以下操作的 Azure 逻辑应用:

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

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

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

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

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

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

恐怕我会遗漏一些明显的东西。建议将不胜感激。

【问题讨论】:

    标签: json azure-logic-apps


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      WebJobs Webhook 现在已弃用。改用 Azure Functions 通用 Webhook - 它们直接支持与逻辑应用的集成。

      一种选择是使用WebJob Webhook 并在那里进行转换/过滤。我有一个例子on GitHub 使用它来过滤帖子到 Slack。如果您已经有一个 Web/Mobile/API 应用程序启动并运行,那么很容易在其上托管一个 WebJob,这样您就不需要额外的资源了。

      您的另一个选项,您突出显示。部署一个 API 应用程序,它将为您执行 xform。

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

      【讨论】:

      • 感谢您的建议和提议。但除非我遗漏了什么,否则这归结为编写某种额外的应用程序——而不是在现有的逻辑应用程序中添加一些东西。
      • 那是简短的版本:)。我们正在考虑使 Logic App + WebJob 成为一种透明的体验。因此,您基本上希望在逻辑应用设计器中编写一些代码并让它进行基本的 JSON 转换/过滤?
      • 那是希望,如果这样的事情是可能的,我不知道。也许不一定是代码,而是某种轻松转换数据(-ish)以用于下游流程的方法。尽管“开箱即用”的逻辑应用程序让我可以轻松地将事物连接在一起,但如果这些事物使用不同的语言,它们似乎并没有太大帮助。这可能只是从逻辑应用的功能中吸取的教训。
      • 这对我们来说将是一个迭代过程。您希望做什么以及您的期望是什么肯定在我们对应用服务的总体愿景范围内。
      • 今天你可以通过 Azure 函数来实现这一点。是的,它本质上仍然是一项 Web 工作,但您必须构建和管理的包装代码更少,而且它与逻辑应用程序的集成相当不错。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2018-06-12
      相关资源
      最近更新 更多