Azure Logic 应用程序组合操作

azure logic app compose action

在 Azure 逻辑应用程序中,我在撰写操作中创建了一个 Json 主体。 JSON 结构如下 我将 place 属性 值作为变量传递,即 variables('result'):

{
   "place": [
                {  "visit":"name"
                     },
               {    "visit":"name"
                     }
            ]
}

compose 操作中如何获得上述结构,因为我无法获得精确的数组结构。我已经尝试了很多东西,但结果如下所示:

{
       "place": "[
                    {  "visit":"name"
                         },
                   {    "visit":"name"
                         }
                ]"
 }

撰写操作中的变量中附加了双引号。如果我在 compose 中作为数组传递,则意味着在数组的每个元素中都存在双引号。我不想在数组元素中使用双引号,我希望在 compose 操作的 属性:

中将该值作为变量
{
           "place": [
                        "{  "visit":"name"
                             }",
                       "{    "visit":"name"
                             }"
                    ]
        }
 }

请告诉我热以获得确切的结构。

我假设您的 result 变量是 array 类型并包含以下值(您可以在 运行历史):

[
    "{\"visit\":\"London\"}",
    "{\"visit\":\"Paris\"}"
]

请注意,我使用表达式创建了 result 变量 - createArray('{"visit":"London"}','{"visit":"Paris"}')

您可以添加一个 For each,将 result 变量作为其输入。

For each 中,您可以包含一个 Parse JSON 操作,该操作采用 当前项目 作为内容。您还需要提供数组对象的架构。

{ "type": "object", "properties": { "visit": { "type": "string" } } }

For each 循环之外,您可以创建一个 Compose 操作。 Compose 操作的代码视图如下所示。

{
    "inputs": {
        "place": "@actionBody('Parse_JSON')"
    }
}

输出如下:

{
    "place": [
        {
            "visit": "London"
        },
        {
            "visit": "Paris"
        }
    ]
}