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

如何在Power Automate中将JSON对象属性名提取为数组

在Power Automate中从JSON数组提取属性名并自动化创建SharePoint列

一、提取属性名数组

你的核心问题是从解析后的JSON数组中提取所有属性名,按以下步骤操作即可解决:

  1. 获取数组第一个对象:用first()函数取解析后JSON数组的第一个元素(假设解析后的数组存储在变量ParsedJSON中),表达式为:
    first(variables('ParsedJSON'))
    
  2. 用Select操作提取键数组:
    • 添加「Select」操作,将「From」设置为上述表达式的结果
    • 在「Map」中直接输入item()['Key'](Power Automate会自动识别对象的键值对,也可手动选择键字段)
    • 执行后,Select的输出就是你需要的属性名数组:["date","hour","production","machine","completeDate"]

二、自动化创建SharePoint列

拿到属性名数组后,循环创建列:

  1. 添加Apply to each操作,遍历上述Select输出的属性名数组
  2. 在循环内添加Send an HTTP request to SharePoint:
    • 先判断当前属性的类型(根据数组第一个对象的对应值),表达式示例:
      if(isString(first(variables('ParsedJSON'))?[item()]), 2, if(isInt(first(variables('ParsedJSON'))?[item()]),9,4))
      
      (注:2=文本类型,9=数字类型,4=日期时间类型,可根据实际需求调整)
    • 请求体的表达式:
      {
        "__metadata": { "type": "SP.Field" },
        "FieldTypeKind": @{<上述类型判断表达式>},
        "Title": @{item()}
      }
      

常见错误说明

你之前用split或keys报错,是因为这些函数要求输入为字符串/数组,但你直接传入了JSON对象。必须先通过first()取出单个对象,再用Select操作提取键,这是Power Automate处理对象键值的标准方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 06:45:14