说我们有
class MyClass {
myProperty: string
}
是否有内置函数或简单的方法来获取JSON?
{
"myProperty": "string"
}
编辑:我的最终目标是我想以某种结构化对象语法(如JSON)动态将类型化的类定义打印到Web视图。我正在尝试制作一个服务器API,该API将返回各种自定义类的架构-例如http://myserver.com/MyClass应该以JSON字符串或其他结构化表示形式返回MyClass的属性及其类型。
答案 0 :(得分:1)
Typescript类属性仅在构建时存在。编译为.js后,它们将从您的源中删除。因此,没有运行时方法可以访问类属性。
您的代码段编译为:
var MyClass = /** @class */ (function () {
function MyClass() {
}
return MyClass;
}());
如您所见,该属性消失了。
根据您的更新,我遇到了这个确切的问题。这就是我解决的方法。
这很棒。
答案 1 :(得分:0)
Evert是正确的,但是解决方法如下所示
class MyClass {
myProperty: string = 'string'
}
JSON.stringify(new MyClass) // shows what you want
换句话说,设置默认属性值可使TS将属性编译为JS
如果上述解决方案不可接受,那么我建议您使用https://dsherret.github.io/ts-simple-ast/用类来解析TS文件。