一、添加依赖
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}")