【发布时间】:2017-02-26 02:07:00
【问题描述】:
我在 TypeScript 中使用 getter/setter 访问器。由于变量和方法不可能有相同的名称,因此我开始在变量前面加上一个低破折号,就像在许多示例中所做的那样:
private _major: number;
get major(): number {
return this._major;
}
set major(major: number) {
this._major = major;
}
现在当我使用 JSON.stringify() 方法将对象转换为 JSON 字符串时,它将使用变量名作为键:_major。
由于我不希望 JSON 文件的所有键都以低破折号为前缀,因此是否有可能使 TypeScript 使用 getter 方法的名称(如果可用)?或者有没有其他方法可以使用 getter/setter 方法但仍能产生干净的 JSON 输出?
我知道有一些方法可以在将 JSON 键写入字符串输出之前手动修改它们。我很好奇是否有更简单的解决方案。
Here is a JSFiddle 演示当前行为。
【问题讨论】:
-
我假设另一种方法是使用属性的大写,例如get Major()... 类似于 C# 的属性命名约定
标签: json typescript getter-setter