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

VS Code中JSON无法新增属性并调用的TypeScript问题

解决JSON新增属性后TypeScript报错「Property does not exist on type ‘{}’」的问题

问题根源

TypeScript是静态类型检查语言,若你未给JSON文件显式声明类型,或之前的类型缓存未更新,新增属性后就会触发类型不匹配错误。另外你提供的JSON存在语法错误(开头多了一个}),这会先导致JSON解析失败,也间接影响类型推断。

解决步骤

1. 修复JSON语法错误

先修正JSON的格式问题,正确内容如下:

{
    "firmware": "2.0",
    "expiry": "'1year'",
    "test": "ts"
}

2. 给JSON文件添加显式类型声明

创建一个类型声明文件(比如data.d.ts),定义JSON的结构:

interface DataConfig {
  firmware: string;
  expiry: string;
  test: string;
}

declare module './你的JSON文件路径.json' {
  const value: DataConfig;
  export default value;
}

将./你的JSON文件路径.json替换为实际的文件路径。

3. 确保TypeScript能正确解析JSON

检查项目根目录的tsconfig.json,确认开启了resolveJsonModule选项:

{
  "compilerOptions": {
    "resolveJsonModule": true,
    "esModuleInterop": true
  }
}

4. 清除缓存并重启服务

如果是在开发环境中,重启你的开发服务器,或者执行tsc --clearCache清除TypeScript的类型缓存,确保新的类型定义生效。

5. 重新导入使用

在代码中正常导入JSON即可,TypeScript会自动识别新的类型:

import data from './你的JSON文件路径.json';

const example = new EPage(page, data.firmware, data.expiry, data.test);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 18:01:24