You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Logic Apps从嵌套JSON提取URL并保存至SharePoint问题咨询

解决方案:Azure Logic App 提取嵌套JSON图片并保存到SharePoint

步骤1:解析输入JSON

先用Parse JSON动作处理输入的JSON字符串:

  • 输入内容:选择你的JSON输入源(比如触发动作的输出)
  • 点击Generate from sample,粘贴完整示例JSON自动生成Schema。这一步能让Logic App正确识别嵌套属性,避免后续引用错误。

步骤2:遍历Data下的所有键值对

添加For each循环,循环内容设置为:

@body('Parse_JSON')?['data']

该循环会遍历data属性下的每一组键值对。

步骤3:筛选含foto/photo的图片对象

在For each内添加Condition动作,判断当前键是否为图片对象:

  • 条件表达式:
@contains(toLower(items('For_each')?['key']), 'foto') or contains(toLower(items('For_each')?['key']), 'photo')

(转小写是为了兼容大小写不同的命名,比如Photo/FOTO)

步骤4:处理数组/单个对象的图片集合

在Condition的True分支中,先判断当前值是数组还是单个对象:

  1. 添加Condition,表达式:
@isArray(items('For_each')?['value'])
  1. 如果是数组(True分支):添加新的For each循环,循环内容为@items('For_each')?['value'],遍历数组中的每个图片对象。
  2. 如果是单个对象(False分支):用@createArray(items('For_each')?['value'])将其包装为单元素数组,再进入For each循环,统一后续处理逻辑。

步骤5:排除描述字段,提取图片信息

在处理图片对象的For each内,添加Filter array动作:

  • 输入内容:@items('For_each_1')(对应外层循环的当前图片对象)
  • 筛选条件:
@not(startsWith(toLower(items('Filter_array')?['key']), 'photo_description_'))

这个动作会过滤掉所有以photo_description_开头的描述字段,只保留包含url/fileName的图片信息子对象。

步骤6:下载图片并保存到SharePoint

在Filter array的输出上添加For each循环,遍历筛选后的图片信息对象:

  1. 添加HTTP动作:
    • 方法:GET
    • URL:@items('For_each_2')?['value']?['url']
    • 开启Follow redirects(防止图片URL是跳转链接)
    • 若图片需要授权,配置对应的认证方式(比如OAuth 2.0)
  2. 添加Create file动作(SharePoint连接器):
    • 站点地址:选择目标SharePoint站点
    • 文件夹路径:指定保存图片的文件夹
    • 文件名称:@items('For_each_2')?['value']?['fileName']
    • 文件内容:@body('HTTP')

常见问题排查(针对items()['fileName']报错)

  • 检查属性路径:确保fileName属性的层级正确,比如如果图片信息子对象是Filter array输出的value,就用@items('For_each_2')?['value']?['fileName'],而非直接items()['fileName']
  • 空引用防护:用?运算符避免空值报错,比如@items('For_each_2')?['value']?['fileName'],如果属性不存在会返回空而非报错
  • 验证Schema:确保Parse JSON的Schema包含fileName字段,否则Logic App无法识别该属性
  • 查看循环输出:在Logic App运行历史中查看Filter array的输出,确认每个子对象确实包含fileName属性

内容的提问来源于stack exchange,提问作者Anna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 07:30:32