JSON 转 Kotlin Data Class

将 JSON 数据转换为 Kotlin data class,含 @SerializedName 注解、可空处理与嵌套类型推断

关键信息

分类
开发与 Web
输入类型
textarea, text, checkbox
输出类型
text
样本覆盖
4
支持 API
Yes

概览

本工具可快速将 JSON 数据转换为 Kotlin Data Class。它支持自动解析嵌套结构、推断数据类型,并提供可空属性配置与 @SerializedName 注解,帮助 Android 和 Kotlin 开发者高效构建数据模型。

适用场景

  • 在开发 Android 应用时,需要根据后端 API 返回的 JSON 响应快速创建对应的 Kotlin 数据实体类。
  • 需要为 Kotlin 属性自动添加 @SerializedName 注解,以确保与 Gson 或 Retrofit 等库无缝反序列化。
  • 处理包含多层嵌套对象的复杂 JSON 结构,希望自动提取并生成多个关联的 Kotlin Data Class。

工作原理

  • 在“JSON 输入”文本框中粘贴或输入您的原始 JSON 数据。
  • 在“根类型名称”中输入您期望的主类名(例如 UserResponse),并根据需要勾选“可空属性”选项。
  • 工具将即时解析 JSON 结构,自动推断字段类型并输出格式化好的 Kotlin Data Class 代码。

使用场景

快速构建 Android 客户端对接 API 接口所需的 Model 层数据结构。
将复杂的 JSON 配置文件转换为 Kotlin 强类型配置类,便于在项目中安全调用。
在重构或迁移项目时,快速将旧的 JSON 样例批量转换为 Kotlin Data Class。

用户案例

1. 快速生成用户信息数据模型

Android 开发者
背景原因
正在接入一个新的用户详情 API,需要根据 API 返回的 JSON 格式在 Kotlin 项目中创建对应的数据类。
解决问题
手动编写包含嵌套地址和角色列表的 Kotlin Data Class 效率低下且容易遗漏字段。
如何使用
将用户信息的 JSON 粘贴到输入框,设置根类型名称为 `UserDetail`,勾选“可空属性”,然后点击转换。
示例配置
根类型名称: "UserDetail", 可空属性: true
效果
获得包含 @SerializedName 注解、属性皆为可空类型(如 String?)且自动拆分出 Address 嵌套类的 Kotlin 代码。

2. 转换商品列表 API 响应

Kotlin 开发者
背景原因
需要对接商品列表接口,接口返回包含商品数组和分页信息的复杂 JSON。
解决问题
数组内部嵌套了多个商品属性,手动定义数据结构耗时。
如何使用
复制商品列表的 JSON 样例,粘贴至工具中,将根类型名称设置为 `ProductResponse`,保持默认非空属性配置,直接生成代码。
示例配置
根类型名称: "ProductResponse", 可空属性: false
效果
快速生成了 ProductResponse 以及内部 Product 类的 Kotlin Data Class,字段类型推断准确,可直接复制到项目中使用。

用 Samples 测试

json

相关专题

常见问题

这个工具支持嵌套的 JSON 对象吗?

支持。工具会自动识别 JSON 中的嵌套对象,并为其生成独立的 Kotlin Data Class。

“可空属性”选项有什么作用?

勾选后,生成的 Kotlin 属性类型将带有问号(如 String?),表示该字段允许为 null,有助于提升代码的空安全性。

生成的代码是否包含 @SerializedName 注解?

是的,工具会自动为生成的属性添加 @SerializedName 注解,以便与 Gson 等 JSON 解析框架配合使用。

如果 JSON 数组中包含混合类型会怎样?

工具会尝试推断数组元素的通用类型,建议在输入 JSON 时使用同构数组以获得最准确的转换结果。

我的 JSON 数据会被上传到服务器吗?

不会。所有的 JSON 解析与 Kotlin 代码生成过程均在您的浏览器本地完成,确保数据隐私安全。

API 文档

请求端点

POST /zh/api/tools/json-to-kotlin

请求参数

参数名 类型 必填 描述
jsonInput textarea -
rootName text -
optionalFields checkbox -

响应格式

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
文本: 文本

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-json-to-kotlin": {
      "name": "json-to-kotlin",
      "description": "将 JSON 数据转换为 Kotlin data class,含 @SerializedName 注解、可空处理与嵌套类型推断",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-to-kotlin",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]