0

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

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

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

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

双引号被附加到撰写操作的变量中。如果我在compose中作为数组传递,则意味着在数组的每个元素中都有下面的双引号。我不希望在数组元素中使用双引号,并且我希望该值作为 compose 操作属性中的变量:

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

请让我知道热以获得确切的结构。

4

1 回答 1

1

我假设您的结果变量是数组类型并包含以下值(您可以在运行历史记录中检查):

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

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

您可以添加一个For each结果变量作为其输入。

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

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

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

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

输出如下:

{
    "place": [
        {
            "visit": "London"
        },
        {
            "visit": "Paris"
        }
    ]
}
于 2018-04-02T21:03:58.040 回答