从base64编码字符串解析Azure Logic App中的JSON数组以用于每个

从base64编码字符串解析Azure Logic App中的JSON数组以用于每个,azure,azure-logic-apps,string-interpolation,azure-servicebus-queues,workflow-definition-language,Azure,Azure Logic Apps,String Interpolation,Azure Servicebus Queues,Workflow Definition Language,我试图遍历一个JSON数组,该数组已被编码为字符串,用于存储在队列中。但是,我收到以下错误消息: {“代码”:“ExpressionEvaluationFailed”,“消息”:“执行 模板操作“For\u each”失败:的结果“[{\“Foo\”:\“Bar\”}” foreach动作表达式的求值 “@{json(decodeBase64(triggerBody()['ContentData']))}”不是有效的 数组。“} 以下是正在分析的字符串: [{“Foo”:“Bar}] 当JSON

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

{“代码”:“ExpressionEvaluationFailed”,“消息”:“执行 模板操作“For\u each”失败:的结果“[{\“Foo\”:\“Bar\”}” foreach动作表达式的求值 “@{json(decodeBase64(triggerBody()['ContentData']))}”不是有效的 数组。“}

以下是正在分析的字符串:
[{“Foo”:“Bar}]

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

当我不为每个使用
时,这种解析很好


如何让logic应用程序将其读取为数组?

这里的问题是,您正在使用字符串插值(其中表达式被包装在@{…})来计算数组的字符串表示形式。因此,“foreach”表达式的计算失败

您希望表达式是
@json(decodeBase64(triggerBody()['ContentData']))

我会尝试以{[{“Foo”:“Bar”}的形式测试数组表示法。你完全正确,谢谢Szymon。我在尝试使用azure函数返回json数组时偶然发现了这个错误。希望这能帮助其他人。