在逻辑应用中使用两个数组将数组拆分为JSON

时间:2019-05-01 15:34:08

标签: arrays sql-server azure stored-procedures azure-logic-apps

我有这个JSON:

[
  {
    "ParentReasonId": 2,
    "ParentReason": "Violent or repulsive content",
    "ReasonId": 15,
    "Reason": "Adults fighting"
  }, 
  {
    "ParentReasonId": 2,
    "ParentReason": "Violent or repulsive content",
    "ReasonId": 16,
    "Reason": "Physical attack"
  }
]

我使用天蓝色的逻辑应用程序试图将数组转换为两个数组的json:

{
    "categories": [
         {
        "categoryId": 2,
        "category": "Violent or repulsive content"
     }
        ],
    "reasons": [
     {
                "categoryId": 2,
        "reasonId": 15,
        "reason": "Adults fighting"
     },
     {
                "categoryId": 2,
        "reasonId": 16,
        "reason": "Physical attack"
     }
    ]
}

如何使用Azure逻辑应用程序实现此目标?数据来自sql存储过程操作。

1 个答案:

答案 0 :(得分:0)

从SQL Server获得数据后,您可以执行以下操作之一

  1. 使用Azure功能
    您可以简单地使用azure函数来执行所需的转换,并从Logic Apps中调用该函数。

    有关如何实现此目标的更多信息,请参考Custom Code with Azure Functions文档。

    这可能是最简单且更具成本效益的解决方案。

  2. 使用集成帐户和流动模板
    如果您希望避免编写和维护代码,则可以采用这种方法,其中包括编写用于转换的液体模板,将其上传到集成帐户并从Logic App调用。

    有关如何实现此目标的更多信息,请参考Transform JSON文档。

      

    尽管这种方法避免了维护代码,但是请注意,集成帐户会产生每小时的费用。如果您有很多这样的转换,那么这样做很有意义。

此外,您可以尝试使用Logic Apps提供的built-in connectorsworkflow definition language functions来达到相同的目的,但可能有点太复杂了。