JSON 转代码生成器
粘贴 JSON 并生成你喜欢的语言中强类型的代码。
Click "Generate" to see outputAbout JSON 转代码生成器
JSON to Code Generator 可以将原始 JSON 数据转换为强类型的代码结构,支持多种编程语言。粘贴任意 JSON 对象或数组,即可快速生成 Go 结构体、TypeScript 接口、Rust 结构体(含 serde 注解)或 Java 类(含 Jackson 注解)。
类型安全是这款工具的核心目标。手动将 JSON 字段映射为类型定义不仅枯燥,而且极易出错。该工具会自动分析 JSON 结构,生成符合目标语言惯例的代码:嵌套对象递归为嵌套类型,数组转为带类型的切片或向量,可空字段按照各语言的习惯进行处理。
Go 输出会为每个结构体字段生成 `json:"field_name"` 标签,可选字段自动添加 omitempty。TypeScript 输出为可选字段添加 `?` 标记。Rust 输出包含 `#[derive(Debug, Deserialize, Serialize)]` 及 serde rename 属性。Java 输出生成带有 `@JsonProperty` 注解的 POJO 类及对应的 getter 和 setter 方法。
字段名转换遵循最佳实践:snake_case 的 JSON 键在 Go 和 Rust 中转为 PascalCase,在 TypeScript 中转为 camelCase,在 Java 中转为 PascalCase。工具会保留数值精度 — 大整数使用 int64 或 i64 类型,仅在 JSON 中出现小数时才使用浮点类型。
对于深层嵌套的复杂 JSON,工具可以将输出拆分为多个类型定义。你也可以指定根类型名称,工具会为所有推断出的类型生成一致的名字,使输出可以直接粘贴到项目中而无需额外修改。
消除手动映射过程,可以大幅减少因序列化错误导致的运行时 Bug。在对接没有 SDK 的第三方 API 时,这个工具尤其有用,它能让你在几秒内获得可直接使用的类型定义。
Frequently Asked Questions
JSON to Code 支持哪些语言?
目前支持 Go、TypeScript、Rust 和 Java。每种语言使用其标准的序列化库——Go 用 encoding/json,Rust 用 serde,Java 用 Jackson,TypeScript 使用内置 JSON 类型。
如何处理 null 或可选字段?
当 JSON 值为 null 或同一字段在数组项中不一致出现时,Go 使用 omitempty 标签,Rust 使用 Option<T>,TypeScript 使用可选 ? 标记,Java 则依赖运行时 null 检查。
我可以控制生成的类型名称吗?
可以。你可以提供根类型名称,工具会自动推导子类型名称并追加前缀。如果不提供名称,工具会根据结构生成 Root、Item、NestedItem 等通用名称。
如果 JSON 格式错误会怎样?
验证器会在生成代码之前拒绝无效的 JSON,并高亮显示语法错误的位置。只有格式正确的 JSON 才会进入代码生成阶段。
工具会保留 JSON 的字段顺序吗?
是的。生成的类型会保持输入 JSON 中的字段顺序,使输出结果可预测且与源数据一致。