尝试从Sample Json下面读取description
属性时收到以下错误消息。
错误:TypeError:无法读取undefined的属性'description' 同时将json数据读取到typescript
import {Age} from "./sample"
var a:Age;
console.log(a.description);
Sample.json :
{
"title":"Example Schema",
"type":"object",
"properties":{
"firstName":{
"type":"string"
},
"lastName":{
"type":"string"
},
"age":{
"description":"Age in years",
"type":"integer",
"minimum":0
},
"hairColor":{
"enum":[
"black",
"brown",
"blue"
],
"type":"string"
}
},
"additionalProperties":false,
"required":[
"firstName",
"lastName"
]
}
答案 0 :(得分:0)
这里是工作中的StackBlitz。
由于这是Typescript,因此将把json
转换为所需的类型。由于sample.json
大于注释中列出的Age
接口,因此我们将创建一个新的接口,称为PersonSchema。
interface PersonSchema {
title: string;
properties: {
age: Age;
};
}
现在,我们可以导入json
数据。注意:import {Age} from "./sample"
不起作用,因为示例文件为json
,并且无法导出类型。
import data from './sample.json';
将其投射为所需的类型:
const person = data as PersonSchema;
访问年龄:
const age = person.properties.age;