我们的C#应用程序为Web应用程序客户端提供了许多JSON Web服务。目前,我们通过递归的对象到JSON字典表示调用来合理地手动生成JSON。
我们正逐步在TypeScript中实现部分Web应用程序 - 我们希望使用TypeScript接口来定义客户端代码应该从服务器接收的JSON数据的形状。
有没有办法在编译时根据C#JSON服务实现自动生成TypeScript数据协定接口定义?
例如,生成JSON的C#代码目前看起来像这样:
public class ConcreteObj
{
public string SimpleProperty;
public ConcreteObj[] Children;
}
public static IDictionary<string, object> ConvertToScriptValue(ConcreteObj obj)
{
IDictionary<string, object> result = new Dictionary<string, object>();
result["simpleProperty"] = obj.SimpleProperty; // string
result["children"] = Array.ConvertAll(obj.Children, ConvertToScriptValue); // ConcreteObj array
return result;
}
我们希望看到TypeScript类似于以下内容:
interface ConcreteObj {
simpleProperty: string;
children: ConcreteObj[];
}