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

在TypeScript中导入.json文件为数组无法正确取值如何解决?

问题原因

你遇到的问题是模块导入规则导致的:使用import * as导入JSON文件时,JSON内容会被作为模块的default导出项挂载到导入对象上,因此直接用导入对象取下标无法获取到数组元素。

解决方案

有两种常用的修复方案:

  • 方案1:使用默认导入(更推荐)
    直接导入JSON的default导出项,代码如下:
// 直接默认导入JSON内容
import array from './list.json';
// 可直接通过下标访问数组元素
console.log(array[0]); // 输出 Element 1
  • 方案2:保留import * as写法时手动取default属性
    如果你需要保留现有导入写法,从导入对象的default属性取值即可:
import * as data from './list.json';
const array = data.default;
console.log(array[0]); // 输出 Element 1
前置配置要求

在TypeScript项目中导入JSON文件,需要先在tsconfig.json中开启对应配置:

{
  "compilerOptions": {
    // 允许TypeScript识别并导入JSON文件
    "resolveJsonModule": true,
    // 处理ES模块与CommonJS模块的导入兼容性,确保默认导入正常生效
    "esModuleInterop": true
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:06:05