调用.NET OAuthToken端点时,结果包含两个以“。”开头的属性:
{
"access_token":"abcde..."
"expires_in":1209599
".expires":"Fri, 16 May 2014..." <- this
".issued":"Fri, 02 May 2014..." <- this
... more properties ...
}
我喜欢做的是在TypeScript中创建一个接口来处理这个结果。但是我不知道如何使用前面的小点声明这两个属性。
export interface Token {
access_token: string;
expires_in: number;
.expires???
.issued???
}
有什么想法吗?
答案 0 :(得分:8)
查看the TypeScript language specification的3.7.1节,看起来对象文字中的属性签名与JavaScript中的对象文字属性定义大致相同,这意味着属性名称可以是标识符,字符串文字或数字文字。换句话说,你可以做到:
export interface Token {
access_token: string;
expires_in: number;
".expires": string;
".issued": string;
}
答案 1 :(得分:3)
只需使用引用的界面成员:
interface Token {
access_token: string;
expires_in: number;
'.expires': number;
}
var foo:Token;
foo['.expires'] = '123'; // Error
foo['.expires'] = 123; // okay