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

使用JavaScript调用FileMaker API时,如何访问含::的关联表字段变量

解决JavaScript访问含::的FileMaker API字段问题

这问题挺常见的——当JavaScript对象的属性名包含::这类特殊字符时,点符号(.)就没法正常工作了,得换成方括号语法来访问才行。

为什么点符号不行?

JavaScript的点符号要求属性名是合法的标识符(不能包含特殊字符、不能以数字开头),而::属于非标识符字符,直接写allFEC[i].pro_FIP::_id_FEC会触发语法错误,解释器根本识别不了这个属性名的格式。

修改后的代码

把带::的属性名用字符串包裹,放进方括号里就能正常访问了:

for(var i=0;i<allFEC.length;i++) { 
  programmesMovies.push({ 
    "isOnline_b":1, 
    "_idWeb_c": allFEC[i]["pro_FIP::_id_FEC"] 
  }); 
}

更清晰的写法(可选)

如果这类带特殊字符的字段名较多,你可以把属性名存成变量,让代码更易读、更易维护:

for(var i=0;i<allFEC.length;i++) { 
  const fecIdField = "pro_FIP::_id_FEC";
  programmesMovies.push({ 
    "isOnline_b":1, 
    "_idWeb_c": allFEC[i][fecIdField] 
  }); 
}

额外提醒

要是你是误把FileMaker的关联表嵌套结构写成了::(比如pro_FIP是一个嵌套对象,_id_FEC是它的子属性),那正确的写法应该是allFEC[i].pro_FIP._id_FEC——但根据你的描述,字段名本身就带::标识,所以前面的方括号方法才是适配你场景的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 18:52:35