C# → JSON Schema 生成器

C# 代码 输入

正在加载编辑器…

JSON Schema 输出

设置

选择生成 Schema 时作为根的 class 或 record。

解析完全在浏览器内完成,源码不会离开此页面。

粘贴 C# DTO,立即生成 JSON Schema。

支持 class/struct/record、annotations、nullable reference types 与泛型集合。

如何将 C# class/record 转为 JSON Schema(步骤指南)

这个在线 C# class → JSON Schema 转换器可以从真实模型(DTO、struct、class)生成 JSON Schema,方便校验 payload、共享合同,并生成 Mock JSON。

  1. 步骤 1:粘贴 C# 源码

    • 将需要文档化的模型粘贴到左侧编辑器。
    • 把被引用的类型也放在同一段代码里,便于生成 definitions。
    • 点击 示例 查看示例输入格式。
  2. 步骤 2:选择 根 class(如需要)

    • 如果检测到多个定义,选择与 API payload 对应的根类型。
    • 输出 Schema 会以选中的根类型为中心,并包含引用类型的额外 definitions。
  3. 步骤 3:检查输出的 JSON Schema

    • 重点检查类型、必填/可选字段,以及嵌套对象/数组结构。
    • 当模型引用其他模型时,注意 definitions 以及 $ref 是否正确。
    • 复制或下载 Schema,用于校验、文档或 schema-first 开发。
  4. 步骤 4:校验或生成 Mock JSON

    • 点击 生成 Mock 数据 即可打开已预填 Schema 的 Mock 生成器。
    • 用真实 payload 校验 Schema,尽早发现破坏性变更。
    • 如果你依赖更高级的 Schema 组合(例如 anyOf/oneOf/allOf),建议用 Ajv 等完整校验器再验证一遍。

Schema 关键字支持说明

生成的 Schema 可能包含 $ref ,也可以按需补充 anyOf, oneOf, allOf当 Schema 更复杂时,建议使用完整的 JSON Schema validator;如需生成 Mock 数据,可先 dereference 再生成。

相关工具

搭配这些工具一起使用:校验 Schema、生成 Mock payload、格式化 JSON 样例,并保持代码与合同一致。

常见问题

支持哪些 C# 结构?

支持 class、struct、record(含 primary constructor)、自动属性、字段、enum,以及 JsonPropertyName、JsonProperty、DataMember(Name=...) 等 attribute。会识别 nullable reference types、可选字段、collections 与 dictionaries,并映射到 Schema。

类型如何映射到 JSON Schema?

string/bool/int/double/decimal、DateTime/DateOnly/Guid 等会映射到最接近的 schema type/format。数组、List<T>、IEnumerable<T>、Dictionary<TKey, TValue>、Nullable<T> 与 T? 会映射为 array/object/optional 等结构。未识别符号在匹配到其他 class 或 enum 时会作为引用处理。

不同 C# 版本和序列化器都能用吗?

可以。支持 records、init-only setters、nullable reference types、System.Text.Json 注解以及 Newtonsoft.Json attribute。工具完全在浏览器本地运行,可安全粘贴内部 DTO 或 API 合同。

如何生成 Mock JSON?

生成 Schema 后,点击“生成 Mock 数据”打开已预载 Schema 的 Mock 生成器,配置 locale、数组数量与可选字段,快速生成用于文档或测试的真实感 payload。

C# → JSON Schema 生成器 | JSONSwiss