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

Power Automate生成JSON格式异常:需输出对象却生成带方括号的数组

解决Power Automate从Excel生成JSON时字段被转为数组的问题

问题说明

用Power Automate流程从Excel生成JSON文件时,first_name、full_name这类本该输出单个字符串的字段,现在被包裹在方括号里变成了数组,和预期格式不符:

预期输出格式

{
  "first_name": "John",
  "full_name": "John Doe"
}

当前错误输出格式

{
  "first_name": ["John"],
  "full_name": ["John Doe"]
}

具体解决步骤

1. 针对单条数据:直接取数组第一个元素

如果是通过「List rows present in a table」获取数据,默认返回的是多行数据的数组,即使只有一条记录,单个字段也会被封装成数组。此时在引用字段时,加上[0]索引取第一个元素即可:

  • 把原本的表达式 items('Apply_to_each')?['first_name'] 改成 items('Apply_to_each')?['first_name'][0]
  • 如果是直接引用列表输出,比如 body('List_rows_present_in_a_table')?['first_name'],改成 body('List_rows_present_in_a_table')?['first_name'][0]

2. 改用「Get a row」动作获取单条数据

如果只需要处理Excel中的单条记录,直接用「Get a row」动作代替「List rows present in a table」。引用字段时直接写 outputs('Get_a_row')?['body/first_name'],返回的就是单个字符串,不会生成数组。

3. 批量处理时用Select动作转换

如果是批量处理多条数据,在Select动作里定义字段映射:

  • 键栏填写 first_name
  • 值栏填写表达式 item()?['first_name'][0]
    对每个需要修正的字段都做同样处理,最终Select输出的JSON里字段就会是单个值而非数组。

4. 修正Compose里的表达式

查看你Compose操作的表达式,确认是否直接引用了列表返回的字段。把对应字段的表达式末尾加上[0],就能去掉外层的方括号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:41:41