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

Azure Logic App中从JSON提取图片URL并保存至SharePoint的方法

在Azure Logic App中批量提取JSON中的图片并保存到SharePoint

以下是针对数量不确定的图片对象(如Tree1、Tree2等)的实现步骤:

1. 解析输入的JSON字符串

添加Parse JSON动作,将原始JSON字符串转换为结构化对象:

  • 输入内容:选择你的JSON字符串来源(如触发动作的输出)
  • 点击「Use sample payload to generate schema」,粘贴提供的JSON示例,自动生成对应Schema,让Logic App识别数据结构。

2. 筛选所有图片对象

因为图片对象是包含fileName和url属性的顶层节点(排除id、Person、Timestamp这类通用字段),按以下操作筛选:

  1. 先添加Select动作,将顶层对象转为键值对数组:
    • 输入选择Parse JSON的Body
    • 映射设置两个字段:
      • Key: @item().Key
      • Value: @item().Value
  2. 添加Filter array动作处理Select的输出,筛选条件表达式为:
    @and(contains(item()?['Value'], 'fileName'), contains(item()?['Value'], 'url'))
    
    这样就能得到所有图片对象的数组。

3. 循环处理单张图片

添加For each循环,选择Filter array输出的数组作为循环输入。

4. 下载图片二进制内容

在循环内部添加HTTP动作:

  • 方法选GET
  • URI填写图片的URL:@items('For_each')?['Value']?['url']
  • 在动作设置中,将返回内容设为Binary。

5. 保存到SharePoint目标文件夹

在HTTP动作后添加SharePoint的Create file动作:

  • 站点地址:选择目标SharePoint站点
  • 文件夹路径:指定保存路径(如/Shared Documents/Images)
  • 文件名称:@items('For_each')?['Value']?['fileName']
  • 文件内容:选择HTTP动作的Body(即下载到的图片二进制内容)

处理嵌套图片对象(可选)

如果JSON存在嵌套的图片对象(如示例中Tree2内部包含Tree3),可在For each循环内添加Condition动作:

  • 判断当前对象的Value是否包含子级图片对象(即子节点存在fileName和url)
  • 条件成立时,重复步骤2-5的逻辑,对嵌套对象进行筛选和循环处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:42:33