如何在Logic Apps中提取单元素JSON数组内的JSON对象
可行解决方法
方案1:适配当前单元素固定场景
你当前收到的消息始终为仅含1个元素的数组,直接提取首个元素即可完成后续解析:
- 在HTTP触发动作/HTTP请求动作后,添加「编写(Compose)」操作,根据你的场景输入对应表达式:
- 如果是HTTP触发器直接收到的请求:
triggerBody()?[0] - 如果是Logic App内部调用HTTP接口返回的结果:
outputs('替换为你的HTTP动作名称')?['body']?[0] - 若请求未正确携带
Content-Type: application/json头导致body被识别为字符串,先做类型转换:json(triggerBody())[0]
- 如果是HTTP触发器直接收到的请求:
- 新增「分析JSON(Parse JSON)」操作,内容选择上一步Compose的输出,生成Schema时使用去掉外层
[]的单个JSON对象作为示例即可,不会再报模板错误。
方案2:兼容后续可能的多元素场景
如果后续数组可能返回多个元素,可按以下步骤修复之前For Each报错的问题:
- 先新增「分析JSON」操作,内容选择HTTP输出的原始Body,用你完整的带数组结构的示例生成Schema,先将原始内容解析为可遍历的数组结构
- 再添加For Each操作,输入选择上一步Parse JSON的输出即可正常遍历元素,之前报错的核心原因是未先做数组结构解析,Logic App无法直接识别原始HTTP输出作为遍历源。
内容的提问来源于stack exchange,提问作者TL1
相关产品推荐
相关产品推荐

