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

TypeScript中如何使用字符串变量获取本地JSON文件对应属性值

问题原因

你当前使用的点属性访问语法getProperty.asse.file.country,是固定读取file对象下名为country的属性,不会把country作为变量解析,你的JSON结构中不存在该属性,因此触发报错。

解决方法

要使用变量作为属性名访问对象值,改用方括号索引语法即可,TypeScript 环境下如果需要类型校验可补充对应类型定义:

import * as getProperty from '../properties.json'

// 可选:定义合法的国家编码类型,获得TypeScript类型校验支持
type CountryCode = keyof typeof getProperty.asse.file;

function getIdSheet() {
    let country: CountryCode = 'CO'
    // 用方括号传入变量作为属性名
    let id = getProperty.asse.file[country];
    // 此时id的值就是你需要的'fileIdCo'
}

语法说明

JavaScript/TypeScript 提供两种对象属性访问方式:

  • 点语法:仅支持访问固定字面量的属性名,属性名不能是动态变量
  • 方括号语法:方括号内可以传入变量、表达式,运行时会将内部结果转为字符串作为属性名取值

注意:如果country的取值是完全动态的,无法保证一定是file下存在的属性,可以先做存在性判断再取值,避免返回undefined。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:09:04