🧱 粘贴 JSON 数据

支持嵌套对象、对象数组;数组会取第一个元素推断元素类型。

非法字符与下划线会自动去掉并转成帕斯卡命名,如 user_info → UserInfo。

所有处理都在你的浏览器本地完成,JSON 数据不会上传。字段类型由样本值推断:null 与空数组无法确定具体类型,会生成 Object / any / interface{} 等宽泛类型,请按实际接口补充。

输出字符数
0字符
在左侧粘贴 JSON 后点「生成实体类」
输入字符 0
类数量 0
字段总数 0
生成结果将显示在这里。

📊 四种语言的类型映射与命名规则

同一份 JSON 在不同语言中生成的类型对照如下。

JSON 值JavaTypeScriptGoPHP
字符串 "abc"Stringstringstringstring
数字 18 / 1.5Doublenumberfloat64float
布尔 trueBooleanbooleanboolbool
数组 [1,2]List<Double>number[][]float64array
嵌套对象新建类 + 字段引用新建 interface新建 struct新建 class
字段命名驼峰 userName,含 getter/setter驼峰 userName帕斯卡 UserName,带 json tag驼峰 $userName

⚠️ 使用注意

类型是“按样本猜”的,生成后请对照真实接口复核。

问题说明
数组只看第一个元素JSON 数组本身不携带元素类型,工具取第一个元素推断:[1, 2] 得到数字数组,[{"id":1}] 得到对象数组。若数组元素结构不一致,请到生成结果中手动调整。
null 与空数组null 无法判断真实类型,生成 Object / any / interface{} / mixed;空数组 [] 生成 List<Object> / any[] / []interface{} / array。
数字统一按浮点JSON 不区分整数与小数,为避免大整数/带小数接口不兼容,Java 用 Double、Go 用 float64;确定是整数的字段(如 id)可自行改为 Long/int64。
键名转换user_name、user-name、userName 都会识别为单词并转成驼峰/帕斯卡;含特殊字符的 TS 字段会自动加引号;Go 的 json:"原键名" tag 保证反序列化不受字段名转换影响。
重名类处理不同层级出现同名对象时(如两处都有 addr),第二个起自动追加数字后缀(Addr2)避免类名冲突,可按业务重命名。

⚠️ 本工具仅在浏览器本地把 JSON 文本转换为类代码,不会上传、保存你粘贴的任何数据。
字段类型完全依据样本值推断,null、空数组、异构数组等情况下只能给出宽泛类型;生成代码适合作为开发脚手架,请务必对照真实接口文档复核类型与命名后再用于项目。

🧱

JSON 转实体类生成器

开发工具 完全免费 🌙 支持黑夜模式 🔒 本地运行不上传 ☕ 四种语言 💾 支持下载文件

对接接口时,后端给的常常只是一段 JSON 示例,手写实体类既慢又容易漏字段。
这个工具把粘贴 JSON → 生成类代码压缩到一次点击:
① 四种语言:Java(含 getter/setter)、TypeScript interface、Go struct(含 json tag)、PHP 类;
② 类型推断:自动识别字符串、数字、布尔、数组与任意层级的嵌套对象,每个嵌套对象生成一个独立类;
③ 命名规范:蛇形 user_name、连字符 user-name 自动转驼峰 userName / 帕斯卡 UserName;
④ 根类名可自定义,切换语言即时重新生成;
⑤ 一键复制或下载为对应后缀(.java / .ts / .go / .php)文件。
需要注意:类型由样本推断,数组只看首元素、null 给宽泛类型,生成后请对照接口文档复核。

类别开发工具 / 代码生成
支持语言Java、TypeScript、Go、PHP
输出类代码,可复制 / 下载
运行方式浏览器本地,不上传

核心特性

四种语言一键生成
嵌套对象自动拆类
字段类型自动推断
蛇形转驼峰/帕斯卡
Go 自动带 json tag
Java getter/setter
复制与下载文件
切换语言即时刷新

关于这个工具

处理流程:
① 解析 JSON:先严格校验 JSON 格式,格式错误时给出具体报错位置提示,不会生成半截代码;
② 递归分析:深度遍历对象与数组(超过 12 层会提示),字符串/数字/布尔映射为语言基础类型,每个嵌套对象登记为一个类,对象数组取首元素作为元素类型;
③ 命名转换:按下划线、空格、大小写边界拆分单词,再组合成驼峰或帕斯卡命名,重名类自动追加数字后缀;
④ 代码生成:按目标语言模板输出——Java 带 import java.util.List 与完整 getter/setter,TS 输出 export interface,Go 输出对齐的 struct 与反引号 json tag,PHP 输出带 @var 注释的属性;
⑤ 导出:一键复制或下载为对应语言后缀的文件。

怎么用

  1. 第 1 步
    把接口返回的 JSON 示例粘贴到左侧文本框(对象或对象数组都可以)。
  2. 第 2 步
    填写根类名,如 OrderResp;不填则默认使用 Root。
  3. 第 3 步
    选择目标语言 Java / TypeScript / Go / PHP,点「🧱 生成实体类」。
  4. 第 4 步
    右侧查看生成结果,统计区显示类数量与字段总数;切换语言会按同一份数据即时重生成。
  5. 第 5 步
    点「📋 复制代码」粘贴到项目,或「💾 下载文件」直接保存为对应后缀的源码文件。

更新记录

  • v1.0 2026-10-11 工具正式上线:支持把 JSON 一键转换为 Java / TypeScript / Go / PHP 四种实体类代码,自动推断字符串、数字、布尔、数组与嵌套对象类型,蛇形/连字符键名自动转驼峰与帕斯卡命名,Java 生成 getter/setter、Go 生成 json tag,支持根类名自定义、语言切换即时刷新、复制与下载源码文件。纯浏览器本地运行,适配黑夜模式。

常见问题

生成的类型一定准确吗?
不一定,类型是按 JSON 样本值推断的。例如数字无法区分整数和小数(统一给 Double/float64),null 无法知道真实类型(给 Object/any/interface{}),数组只取第一个元素判断元素类型。生成结果是开发脚手架,请对照接口文档把 id 这类字段改成 Long/int64、把 null 字段改成真实类型。
JSON 顶层是数组怎么办?
直接粘贴数组即可。工具会取数组第一个元素生成根类,根类名使用你填写的名称;例如粘贴 [{"id":1,"name":"x"}] 并把根类名填成 User,就会生成包含 id、name 字段的 User 类。空数组 [] 没有元素可分析,只能得到一个空的根类。
字段名 user_name 会怎么处理?
会按下划线拆成单词后重新命名:Java / TypeScript / PHP 使用小驼峰 userName,Go 使用大驼峰 UserName(导出字段要求)并附带 `json:"user_name"` tag,保证 JSON 反序列化时仍能对应原键名。含连字符等非法标识符字符的键名在 TS 中会自动加引号,如 "a-b": number;。
不同对象里出现同名的子对象会冲突吗?
不会。每个嵌套对象按其键名生成类名(addr → Addr),当第二个同名类出现时会自动追加数字后缀(Addr2、Addr3),保证同一文件内类名唯一。生成后可以按业务语义把它们重命名成更具体的名字。
我的 JSON 数据会被上传吗?
不会。整个转换过程由 JavaScript 在你的浏览器内完成,页面不发起任何网络请求,刷新或关闭页面后粘贴的内容立即消失,可放心粘贴含真实结构的接口数据(但仍建议抹掉密钥、手机号等敏感值)。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码