Javascript 错误TS2339:属性';默认值';不存在于类型';特别[]和#x27;

Javascript 错误TS2339:属性';默认值';不存在于类型';特别[]和#x27;,javascript,json,angular,typescript,compiler-errors,Javascript,Json,Angular,Typescript,Compiler Errors,我正在用Angular编写一个应用程序。我正在使用json文件,从ts文件中获取数据: import * as data from '../../special.json'; export class SpecialComponent { specials = (data as any).default; } 一切都很好。但当我想添加类型而不是任何类型时: import * as data from '../../special.json'; export class SpecialCom

我正在用Angular编写一个应用程序。我正在使用json文件,从ts文件中获取数据:

import * as data from '../../special.json';
export class SpecialComponent {
  specials = (data as any).default;
}
一切都很好。但当我想添加类型而不是任何类型时:

import * as data from '../../special.json';
export class SpecialComponent {
  specials = (data as Special[]).default;
}
我得到一个错误:

error TS2339: Property 'default' does not exist on type 'Special[]'.
这是我的服务接口:

export interface Special {
  category: string;
  name: string;
  description: string;
  type?: string;
  imageUrl?: string;
}
这是我的json文件:

[
    {
        "category": "xxx",
        "name": "xxx",
        "description": "xxx",
        "type": "xxx",
        "imageUrl": [
            "assets/img/img.jpg",
            "assets/img/img1.jpg"
        ]
    }
]

错误是正确的,因为在
特殊[]
上没有
默认值

一种简单的方法是:

resolveJsonModule
esModuleInterop
放入项目的
tsconfig.json
文件中

"compilerOptions": {
  "resolveJsonModule": true,
  "esModuleInterop": true,
  ....
}
然后导入:

import {default as data} from '../../special.json';
export class SpecialComponent {
  specials = data as Special[];
}


尝试使用
HttpClient
读取json文件,而不是导入它?如果您试图访问数组的属性
default
,请尝试首先记录
数据的内容。如何记录数据的内容?@Weronika:Try
console.log(data)
来记录并查看