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

JavaScript如何提取键名包含空格的JSON对象属性值

问题解决方法

你的代码返回null是因为不符合JavaScript对象的属性访问规则:当属性名包含空格,或者属性名存储在变量中时,不能使用.运算符访问,必须使用[]方括号语法。你写的item.inputFormalityTone是尝试访问对象中名为inputFormalityTone的键,和你实际存在的带空格的键名input formality tone不匹配,所以取不到值。

修正后代码

function test() {
  var file = DriveApp.getFileById("19ncMpYna8VEBCVfvMjbuImFZXPx2Jlw0");
  var filecontent = file.getBlob().getDataAsString();
  var jsonparse = JSON.parse(filecontent);
  // 提前定义目标键名变量
  const targetKey = "input formality tone";
  for (var key in jsonparse) {
    var arr = jsonparse[key];
    for (var i=0; i<arr.length; i++) {
      var item = arr[i];
      Logger.log(item)
      // 改用方括号语法访问带空格的属性
      Logger.log(item[targetKey])
      // 也可以直接写成 Logger.log(item["input formality tone"]),效果一致
    }
  }
}

补充属性访问规则说明

  • 当属性名仅由字母、数字、下划线组成,无空格和特殊字符时,可以用点语法访问,例如item.speaker、item.utteranceID
  • 当属性名包含空格、特殊字符,或属性名存储在变量中时,必须用方括号语法访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:48:01