JSON 转 Kotlin Data Class
生成嵌套 Kotlin Data Class、可空默认值与 kotlinx/Jackson 注解
字段可选性根据对象数组中的缺失值和 null 推断;混合类型会降级为通用类型,生成后仍需按真实 API 契约复核。
生成的 Kotlin data classes 会显示在这里。
工具说明
JSON 转 Kotlin Data Class 会把 JSON 对象或代表性数组转换为嵌套 Data Class。基础样例映射为 String、Long、Double 与 Boolean,数组生成 List,嵌套对象生成命名 Class,混合值降级为 Any。字段只要在任一样例中缺失或为 null,就会变成可空类型,并可设置默认 null。可以选择 kotlinx.serialization、Jackson 或无注解;Kotlin 标识符规范化改变线上 Key 时会生成 SerialName 或 JsonProperty。输出不会推断 Instant、BigDecimal、Sealed Hierarchy、Enum、业务默认值、Android Parcelable 或框架 Adapter,因此应配合选定序列化库和真实 Fixture 编译。
场景配方
准备移动端 API 响应模型
目标:接入序列化库前先记录观察到的可空性
- 粘贴包含正常记录和缺少可选字段样例的数组。
- 选择 kotlinx.serialization 或 Jackson,开启 null 默认值并设置响应模型名。
- 生成后把 Any 和通用字符串替换为领域类型,再在单元测试中解码 Fixture 响应。
结果:得到包含已观察可空性与明确线上名称注解的嵌套 Kotlin 模型草稿。
常见问题
可以选择 kotlinx.serialization 或 Jackson 吗?
可以,注解选择器会为任一库输出 Import 与名称注解,也可以选择不加注解。
可选属性怎样生成?
在样例中缺失或为 null 的字段会变成可空类型,并可默认等于 null。
嵌套 JSON 对象会生成独立 Data Class 吗?
会,生成器根据属性名确定性生成 PascalCase 类名。
字段出现混合类型会怎样?
会降级为 Any,避免把不可靠的具体类型伪装成安全契约。
会生成 Android Parcelable 或 Room 注解吗?
不会,这些属于 JSON 结构推断之外的平台与持久化决策。
样例 JSON 会上传吗?
不会,解析、推断、注解选择和 Kotlin 生成都在本地完成。
继续浏览