如何为Kotlin项目添加JSON序列化依赖?同步报错求解
Kotlin JSON序列化正确配置方案
针对你的项目配置,以下是修复并正确配置Kotlin序列化的步骤:
1. 项目级 Build.Gradle 修改
在buildscript的dependencies块中添加序列化插件的classpath,版本必须与你当前使用的Kotlin Gradle插件版本完全一致(你的项目中是1.5.21):
buildscript { ext { compose_version = '1.0.1' kotlin_version = '1.5.21' // 统一声明Kotlin版本,方便后续维护 } repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.2.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.dagger:hilt-android-gradle-plugin:2.44' // 添加Kotlin序列化插件classpath classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" } } task clean(type: Delete) { delete rootProject.buildDir }
2. 模块级 Build.Gradle 修改
2.1 添加序列化插件
在plugins块中添加序列化插件:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' id 'dagger.hilt.android.plugin' id 'org.jetbrains.kotlin.android.extensions' // 添加Kotlin序列化插件 id 'org.jetbrains.kotlin.plugin.serialization' }
2.2 添加序列化运行时依赖
在dependencies块中添加Kotlin JSON序列化的runtime依赖,版本需与Kotlin版本兼容(Kotlin 1.5.21对应kotlinx-serialization-json:1.3.2):
dependencies { // ... 其他已有依赖保持不变 ... // Kotlin JSON序列化依赖 implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2" }
3. 常见错误排查
- 版本不匹配:这是最常见问题,序列化插件版本必须和
kotlin-gradle-plugin版本完全一致,运行时依赖版本也要和Kotlin版本兼容。 - 插件未正确应用:检查模块级
plugins块中是否正确添加了org.jetbrains.kotlin.plugin.serialization,避免拼写错误。 - 同步问题:修改配置后点击Android Studio的「Sync Project with Gradle Files」按钮,若仍有错误,尝试清理项目(Build -> Clean Project)后重新同步。
代码使用示例
在需要序列化的数据类上添加@Serializable注解:
import kotlinx.serialization.Serializable @Serializable data class User( val id: Int, val name: String, val email: String )
序列化/反序列化示例:
import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json // 序列化 val user = User(1, "John", "john@example.com") val jsonString = Json.encodeToString(user) // 反序列化 val decodedUser = Json.decodeFromString<User>(jsonString)
内容的提问来源于stack exchange,提问作者NewPartizal
相关产品推荐
相关产品推荐

