JSON TO CODE

JSON 转代码:从接口样例生成可维护的类型定义。

选择 TypeScript、C# 或 Java,把一份对象型 JSON 转成基础数据模型。它用于减少手写字段,不替代接口文档和项目代码规范。

输入 JSON 后选择语言并生成代码。
JSON 输入0 字符 · 0 行
代码输出可复制、可下载
生成后的类型定义会显示在这里。
代码生成只在浏览器本地运行。结果来自当前样例,使用前请结合接口文档检查空值、日期、金额、枚举和字段命名。

工具怎样从 JSON 推断类型?

JSON 样例值TypeScriptC#Java
"张三"stringstringString
42numberintInteger
truebooleanboolBoolean
[{"id":1}]Array<Item>List<Item>List<Item>
{"city":"昆明"}独立 interface独立 class独立 class

生成代码前,先给工具一份“完整样例”

类型生成器只能看见当前输入中出现的字段。若样例恰好没有 avatarnextPage 或某个嵌套对象,结果中就不会包含它。建议使用字段最完整的一次接口响应,而不是只截取一条调试片段。

  1. 先用 JSON 校验确认样例合法。
  2. 根名称使用业务名,例如 OrderDetailResponse,不要长期保留 RootObject
  3. 生成后根据接口文档手动处理可选字段、日期、金额、字典结构和枚举。

哪些情况需要手动改代码?

空数组

空数组没有元素样例,工具只能生成通用类型。请按接口文档指定元素类型。

null 值

单个 null 无法说明原本应该是字符串、对象还是数字。请按字段定义补充准确类型。

日期和金额

JSON 中通常都是字符串或数字。生成后请替换成项目实际使用的日期、金额或 Decimal 类型。

字段命名

接口可能使用 snake_case 或连字符字段名。请按项目序列化规则补充属性映射或重命名。

按语言查看细节

通用生成页解决“先有一个类型定义”的问题。针对不同语言的空值、命名和框架约束,请继续查看语言专题页。

常见问题

顶层输入为什么必须是对象?
根类型需要稳定名称。若接口直接返回数组,建议先按接口语义包装成对象,例如 {"items":[...]},再生成类型。
生成的代码能直接提交到项目吗?
不建议直接提交。它适合快速起草模型,提交前仍应按接口文档、序列化框架和团队命名规范审阅。
为什么数组只参考一个元素?
工具用数组第一个元素推断类型。若数组中不同项结构不一致,需要你手动设计联合类型、继承结构或通用字段。