1
比方说,我想从Visual Studio TFS
数据和响应(如JSON)是这样的格式:的Json属性别名在打字稿
{
"Microsoft.VSTS.Scheduling.StoryPoints": 3.0,
// ......
}
有一个在属性名点。其他问题读我发现我可以用一个接口这样
export interface IStory { // I don't think this kind of interface do me any help
"Microsoft.VSTS.Scheduling.StoryPoints": number
}
阅读打字稿是JSON,然后我可以使用属性与此语法:
var story = GetStoryFromTFS();
console.log(story["Microsoft.VSTS.Scheduling.StoryPoints"]);
但我不要像这样调用属性,因为intellisense将无法帮助我找到我想使用的属性(因为我使用字符串调用属性)。
在C#中有一个JsonProperty
属性,它使我能够创建这样一个模型:
public class Story
{
[JsonProperty(PropertyName = "Microsoft.VSTS.Scheduling.StoryPoints")]
public double StoryPoints { get; set; }
}
,然后我可以使用属性是这样的:
var story = GetStoryFromTFS();
Console.WriteLine(story.StoryPoints);
这样的智能感知会能够帮助我找到我想要使用的属性。
在打字稿中是否有类似JsonProperty
的属性?或者还有其他更好的方法来实现这种打字稿吗?
有没有办法创建别名,你可以使用getter和setter来制作一个装饰服务器数据的类,但是这是很多为一些服务器数据编写的代码。如果有一条规则,我不应该更改从api检索到的json数据的属性名称,那么在打字稿中没有解决方法,那么更简单的方法是使用更简单的名称作为您的json属性 – toskv
@toskv? – samAlvin
你只能做js中你可以做的事情,而且要么将它包装在其他东西中,要么只是将它复制到另一个具有你喜欢的属性的对象。如果属性的名称设置为石头,那么你没有很多选择.. – toskv