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

如何在Power Apps中将详情表单转为JSON?报错求解决办法

解决Power Apps中JSON函数无法序列化控件的问题

你遇到的报错原因很明确:直接把DetailForm1控件对象传给JSON函数,而JSON函数仅能序列化数据对象,无法处理控件类型,因此触发了the json function cannot serialise objects of type control错误。以下是两种可行的解决方法:

方法一:利用表单的内置属性获取数据

将代码替换为获取表单绑定的记录数据,而非控件本身:

'PowerApp->Content'.Run(JSON(DetailForm1.Updates, JSONFormat.IncludeBinaryData))
  • DetailForm1.Updates会返回表单中用户编辑后的所有字段键值对,属于可被JSON序列化的数据类型;
  • 如果表单处于查看模式(View Mode),Updates可能返回空值,此时可以改用DetailForm1.Default获取表单绑定的原始记录。

方法二:手动构造需要序列化的字段

如果仅需表单中的部分数据,可直接提取控件值并组合成自定义记录:

'PowerApp->Content'.Run(JSON({
    姓名: DetailForm1.TextInput_Name.Value,
    部门: DetailForm1.Dropdown_Department.Selected.Value,
    附件: DetailForm1.Attachment_File.Attachments
}, JSONFormat.IncludeBinaryData))

这种方式能精准控制要序列化的字段,避免冗余数据。

额外注意事项

  • 若需处理附件数据(依赖JSONFormat.IncludeBinaryData),要确保对应的Power Automate流能正确解析二进制内容,同时注意Excel无法直接存储二进制文件,可能需要将附件转成Base64字符串或文件链接后再写入;
  • 确认表单已绑定有效数据源,保证Updates或Default能返回正常的记录数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:01:24