Kotlin 数据解析(Gson)

一、添加依赖

build.gradle.kts(:app)

复制代码
 // gson数据解析
 implementation("com.google.code.gson:gson:2.8.6")

对象类:

复制代码
// 对象类
class Account {
    var uid:String = "00001"
    var userName:String = "Freeman"
    var password:String = "admin"
    var telNumber:String = "13000000000"

    override fun toString(): String {
        return "Account(uid='$uid', userName='$userName', password='$password', telNumber='$telNumber')"
    }
}

JSON和对象互相转换:

复制代码
   // 测试所需json字符串
    val json = "{\"uid\":\"00001\",\"userName\":\"Freeman\",\"telNumber\":\"13000000000\"}"

    /**
     * JSON转换为对象
     * */
    val gson = Gson()
    val account = gson.fromJson<Account>(json,Account::class.java)
    println("json转换为对象:${account.toString()}")

    /**
     * 对象转换为JSON
     * */
    val accountJson:String = gson.toJson(account)
    println("对象转换为json:${accountJson}")

输出结果:

JSON和集合相互转换:

复制代码
 // 测试所需json字符串
    val json = "[{\"uid\":\"00001\",\"userName\":\"Freeman\",\"telNumber\":\"13000000000\"}," +
                "{\"uid\":\"00002\",\"userName\":\"man\",\"telNumber\":\"13000000001\"}]"

    /**
     * JSON转换为集合
     * */
    val gson = Gson()
    val accountList = gson.fromJson<List<Account>>(json,object:TypeToken<List<Account>>(){}.type)
    println("JSON转换为集合:${accountList}")
    println("集合数:${accountList.size}")

    /**
     * 集合转换为JSON
     * */
    val jsonList = gson.toJson(accountList)
    println("集合转换为JSON:${jsonList}")
相关推荐
乂爻yiyao1 分钟前
Java 的云原生困局与破局
java·开发语言·云原生
鸿儒5172 分钟前
记录一个C++操作8位影像的一个bug
开发语言·c++·bug
脏脏a2 分钟前
深度剖析 C++ string:从 0 到 1 的模拟实现与细节解析
开发语言·c++
创作者mateo2 分钟前
python基础学习之Python 循环及函数
开发语言·python·学习
小鸡脚来咯7 分钟前
java web后端开发流程
java·开发语言·git
坐公交也用券9 分钟前
适用于vue3+pnpm项目自动化类型检查及构建的Python脚本
开发语言·javascript·python·typescript·自动化
应用市场9 分钟前
汽车CAN总线隔离设计与故障诊断:从原理到代码实战
开发语言·汽车·无人机
我爱烤冷面10 分钟前
kotlin项目实现Java doc的方案:使用Dokka
java·开发语言·kotlin·dokka
jian1105811 分钟前
android java转kotlin,kotlin转java
android·java·kotlin
俩个逗号。。11 分钟前
android 后台应用申请音频焦点失败
android·音视频