从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数组时偶然发现了这个错误。希望这能帮助其他人。