gson
Gson 是 Google 开源的一个 JSON 库,被广泛应用在 Android 开发中。
在 app/build.gradle 中添加以下依赖:
implementation 'com.google.code.gson:gson:2.8.9'
将 JSON 和对象互相转换
/**
* Created on 2021/12/16 14:30
*
* @author Gong Youqiang
*/
fun main(){
// 将 JSON 转换为对象
val json = "{\"uid\":\"00001\",\"userName\":\"Kevin\",\"password\":\"hkt123\",\"telNumber\":\"1388888888\"}"
val gson = Gson()
val account:Account = gson.fromJson<Account>(json,Account::class.java)
println(account.toString())
// 将对象转换为 json
val accountJson = gson.toJson(account)
println("ToJSON:${accountJson}")
}
class Account {
var uid:String = ""
var userName:String = "Kevin"
var password:String = "hkt123"
var telNumber:String = "13888888888"
override fun toString(): String {
return "Account(uid='$uid', userName='$userName', password='$password', telNumber='$telNumber')"
}
}
将 JSON 和集合互相转换
/**
* Created on 2021/12/16 14:30
*
* @author Gong Youqiang
*/
fun main(){
// 将 JSON 转换为集合
val jsonList = "[{\"uid\":\"00001\",\"userName\":\"Kevin\",\"password\":\"hkt123\",\"telNumber\":\"1388888888\"}]"
val gson = Gson()
val infos:List<Account> = gson.fromJson(jsonList,object :TypeToken<List<Account>>(){}.type)
println("fromJson to list:${infos.size}")
// 将集合转换为 JSON
val json = gson.toJson(infos)
println("list to Json:${json}")
}
class Account {
var uid:String = ""
var userName:String = "Kevin"
var password:String = "hkt123"
var telNumber:String = "13888888888"
override fun toString(): String {
return "Account(uid='$uid', userName='$userName', password='$password', telNumber='$telNumber')"
}
}
说明:如果 JSON 字符串以大括号({})开头和结尾,则解析数据类型为对象;如果 JSON 字符串以中括号([ ])开头和结尾,则解析数据类型为集合。
工具
推荐网站:JSON 在线解析
高效插件:
JsonToKotlinClass
安装&使用
网友评论