从base64编码的字符串中解析Azure Logic App中的JSON数组,以便在For_each中使用

Lan*_*nce 2 azure azure-servicebus-queues azure-logic-apps

我试图遍历一个JSON已编码为字符串的数组,以便存储在队列中.但是,我收到以下错误消息:

{"code":"ExpressionEvaluationFailed","message":"执行模板操作'For_each'失败:结果'[{\"Foo \":\"Bar \"}]'评估'foreach'动作表达式'@ {json(decodeBase64(triggerBody()['ContentData']))}''不是有效的数组."}

以下是要解析的字符串: [{"Foo":"Bar"}]

解析JSON字符串不在数组中时没有问题,例如: {"Foo":"Bar"}

当我不使用时,这解析得很好For_each.

如何让逻辑应用程序将其作为数组读取?

小智 10

这里的问题是你正在使用字符串插值(其中表达式包装在@ {...}中),其值为数组的字符串表示形式.因此,对'foreach'表达式的评估失败.

你想要表达式 @json(decodeBase64(triggerBody()['ContentData']))