Rya*_*pat 7 javascript anonymous-objects strong-typing typescript
我有一些JSON包含来自我的客户端的匿名对象.是否有一些内置机制或外部库用于将这些匿名对象转换为强类型的TypeScript对象?是否有像AutoMapper这样的东西?
我的对象是复杂类型,复杂类型作为属性.
获取一些示例数据并将其放在.ts文件中:
var people = [
{
"name": "bob", "height": 150, "pets": [{ "name": "spot", "species": "dog" }]
},
{
"name": "jane", "height": 142, "pets": [{ "name": "lucy", "species": "cat" }]
}
];
Run Code Online (Sandbox Code Playgroud)
跑 tsc --declaration yourFile.ts
现在你将拥有yourFile.d.ts:
declare var people: {
"name": string;
"height": number;
"pets": {
"name": string;
"species": string;
}[];
}[];
Run Code Online (Sandbox Code Playgroud)
替换declare var people:为interface Person,删除尾随[],并(可选)删除引号:
interface Person {
name: string;
height: number;
pets: {
name: string;
species: string;
}[];
}
Run Code Online (Sandbox Code Playgroud)