【发布时间】:2020-08-24 18:26:58
【问题描述】:
我想为这些对象创建一个 Typescript 接口:
{
"id": 34728,
"url": "https://example.com/image.jpg",
"commonNames": {
"de": ["Apfel", "Kulturapfel"],
"en": ["apple"],
"th": ["แอปเปิล"]
},
}
我的方法正确吗?我特别不确定 commonNames。
interface Food {
id: number;
url: string;
commonNames: {
[index: string]: string[];
};
}
【问题讨论】:
-
是否有预定义的 commonName 键列表('de'、'en'、'th'),或者它可以是任何字符串,直到运行时你才会知道哪些?如果它是任何字符串,那么你已经正确地完成了。
-
是的,谢谢,它可以是任何字符串。如果我后来决定添加一个预定义的 CommonName 键列表会是什么样子?
-
有几个选项,但我可能会用各种字符串定义一个联合类型,然后使用它。例如:
type Language = 'de' | 'en' | 'th'和commonNames: { [index in Language]: string[] }
标签: json typescript interface