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

Power Automate处理含斜杠字段的JSON错误解决咨询

Smartsheet同步Excel:Power Automate处理带斜杠字段的解决方案

问题背景

在Smartsheet数据同步至Excel的Power Automate流程中,遇到字段名Tier 2/3 Fire Threat Area含斜杠的兼容性问题:

  • 初始使用表达式:
    if(contains(items('Apply_to_each'),'Tier 2/3 Fire Threat Area'),items('Apply_to_each')?['Tier 2/3 Fire Threat Area'],'')
    
  • 触发错误:

    Flow save failed with code 'WorkflowOperationParametersExtraParameter' and message 'The API operation does not contain a definition for parameter 'item/Tier 2.3 Fire Threat Area'.'.

已尝试双斜杠转义、引号包裹斜杠的表达式,均无效,且因业务要求无法修改Smartsheet和Excel的原字段名。

可行解决方案

1. 用XPath直接提取字段值

Power Automate的XPath支持处理含特殊字符的字段,无需修改原字段名。将当前项转为XML后,用转义后的字段名提取值:

xpath(xml(json(concat('{"root":', items('Apply_to_each'), '}'))), 'string(/root/Tier_x0020_2_x002F_3_x0020_Fire_x0020_Threat_x0020_Area)')
  • 转义规则:空格对应x0020,斜杠/对应x002F,按原字段名的字符依次替换即可;
  • 若字段不存在,自动返回空字符串,无需额外判断。

2. 解析JSON替换字段名后取值

先将当前项转为JSON字符串,替换斜杠为无特殊字符的标识,再解析为对象取值:

json(replace(string(items('Apply_to_each')), '"Tier 2/3 Fire Threat Area":', '"Tier 2-3 Fire Threat Area":'))?['Tier 2-3 Fire Threat Area']

写入Excel时,将目标字段名改回Tier 2/3 Fire Threat Area即可保持名称一致。

3. 用Select操作映射临时字段

针对仅3列特殊字段的场景,可在Apply to each前添加Select操作:

  • 设置源字段为Tier 2/3 Fire Threat Area,目标字段命名为无特殊字符的临时名称(如Tier23FireThreatArea);
  • 后续流程使用临时名称取值,写入Excel时再映射回原字段名。
    这种方法无需编写复杂表达式,操作直观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 21:54:57