从C#JSON服务实现

时间:2015-06-08 05:14:01

标签: c# json web-services typescript datacontract

我们的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[];
}

0 个答案:

没有答案