如何在Azure Logic Apps中转换JSON?

时间:2015-10-15 14:24:58

标签: json azure-logic-apps

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

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

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

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

  4. 但是我在第2点苦苦挣扎。我无法在哪里编写一些脚本或代码(无需构建自定义逻辑应用程序组件)来进行此转换。

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

    我意识到我可以编写一个自定义应用程序,但如果我这样做,那么我也可以在自定义应用程序中完成所有工作。如果可能的话,最好使用Azure的本机功能。

    我担心我可能会遗漏一些明显的东西。建议将不胜感激。

2 个答案:

答案 0 :(得分:3)

尝试使用CsScripting Api.它可以让你做一些简单的c#代码并且可以使用NewtonSoft库。在将代码插入逻辑应用程序操作之前,我通常首先将代码编写为控制台应用程序进行测试。

答案 1 :(得分:0)

WebJobs Webhooks现已弃用。使用Azure Functions Generic Webhooks - 它们与Logic Apps具有直接集成支持。

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

<罢工>

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

如果你想沿着WebJob路线前进并需要任何帮助,请告诉我,我很乐意提供协助。