Nik*_*yan 4 javascript json typescript angular
我正在使用Angular 5开发一个Web应用程序.我有JSON文件,如下所示:
[
{
"id": 0,
"title": "Some title"
},
{
"id": 1,
"title": "Some title"
},
...
]
Run Code Online (Sandbox Code Playgroud)
该文件存储在本地.我也有一个界面:
export interface Book {
id: number;
title: string;
}
Run Code Online (Sandbox Code Playgroud)
问题是我如何:
Book[]从这些数据创建一个类型数组?这个答案可以帮助某人,尽管它与 Typescript 4 有关。(Angular 5 支持 Typescript 2 )。
示例 JSON 文件内容 (data.json):
[
{
"Gender": "Male",
"HeightCm": 171,
"WeightKg": 96
},
{
"Gender": "Male",
"HeightCm": 161,
"WeightKg": 85
}
]
Run Code Online (Sandbox Code Playgroud)
适当的tsconfig.json条目:
{
"compilerOptions": {
"esModuleInterop": true
"resolveJsonModule": true
}
}
Run Code Online (Sandbox Code Playgroud)
将 JSON 内容读取到以下文件中的代码interface Person:
import data from './data.json';
interface Person{
Gender: string,
HeightCm: number,
WeightKg: number
}
const personArray:Person[] = data as Person[];
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令加载文件import:
import data from 'path/to/data.json';
Run Code Online (Sandbox Code Playgroud)
并将其分配给类型数组Book[]:
@Component({...})
class Foo {
books: Book[] = data;
}
Run Code Online (Sandbox Code Playgroud)
还添加了通配符模块定义中src/typings.d.ts来告诉编译器打字稿如何导入*.json:
declare module "*.json" {
const value: any;
export default value;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4172 次 |
| 最近记录: |