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

Power Automate中动态键JSON无法生成解析Schema的问题求助

解决Power Automate中Parse JSON适配动态content键的问题

方法一:修改Parse JSON Schema支持动态键

直接调整自动生成的Schema,让content字段兼容media和multiImage两种结构,核心是用anyOf关键字定义两种可选的对象结构:

  1. 打开Parse JSON动作,点击「编辑」进入Schema编辑界面。
  2. 找到elements数组中content字段的定义,替换为以下结构(根据API实际返回的media/multiImage属性补全细节):
"content": {
  "type": "object",
  "anyOf": [
    {
      "properties": {
        "media": {
          "type": "object",
          "properties": {
            "url": { "type": "string" },
            "type": { "type": "string" }
            // 补充media的其他属性定义
          }
        }
      },
      "required": ["media"]
    },
    {
      "properties": {
        "multiImage": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "url": { "type": "string" },
              "type": { "type": "string" }
              // 补充multiImage子项的其他属性定义
            }
          }
        }
      },
      "required": ["multiImage"]
    }
  ]
}
  1. 保存Schema后,Parse JSON即可同时识别两种结构,不会因键不匹配报错。

方法二:跳过Parse JSON,直接用表达式/分支处理

如果不想修改Schema,可直接通过表达式或分支逻辑提取数据,摆脱静态Schema的限制:

1. 用表达式判断并提取内容

在需要使用content数据的位置,用contains函数判断当前content包含的键,再提取对应值:

  • 提取media内容:if(contains(items('Apply_to_each')?['content'], 'media'), items('Apply_to_each')?['content']?['media'], '')
  • 提取multiImage内容:if(contains(items('Apply_to_each')?['content'], 'multiImage'), items('Apply_to_each')?['content']?['multiImage'], '')

2. 用Switch动作分支处理

  • 添加「Apply to each」动作,遍历elements数组。
  • 在循环内添加「Switch」动作,切换条件设为:keys(items('Apply_to_each')?['content'])[0](获取content对象的第一个键)。
  • 分别创建「media」和「multiImage」分支,在每个分支内处理对应结构的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 16:22:44