C# 和 Typescript 之间 JSON 的端到端类型安全性

Ian*_*ose 5 .net c# json static-typing typescript

Typescript 和 C# 都支持对 \xe2\x80\x9ccompile\xe2\x80\x9d 类型检查的对象成员进行类型安全访问,并且使用 json 来传输 \xe2\x80\x9c 数据传输对象\xe2\x80\x9d Web 应用程序后端与其前端之间。

\n\n

我希望这里的工具可以从定义 JSON 消息 \xe2\x80\x93 的 C# 类生成打字稿 \xe2\x80\x9cwrapper 类\xe2\x80\x9d,但我从未听说过使用此类工具。 \n可能不是一名活跃的 TypeScript 开发人员,我错过了 TypeScript 工具集中用于执行此操作的某些内容,或者用于 .net 的 \xe2\x80\x9cstandard\xe2\x80\x9d JSON 工具包之一已经做到了这一点。或者我可能只是问一个非常愚蠢的问题\xe2\x80\xa6..

\n

Fen*_*ton 5

TypeLITE会将 C# 类转换为 TypeScript 接口:

public class Address {
    public string Street { get; set; }
}

public class Person {
    public string Name { get; set; }
    public List<address> Addresses { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

变成:

interface Address {
    Street: string;
}

interface Person {
    Name: string;
    Addresses: Address[];
}
Run Code Online (Sandbox Code Playgroud)

这将使您的 TypeScript 在使用 C# API 时保持诚实。