前言
gson是Json解析框架,下面介绍kotlin的形式使用gson
依赖
implementation 'com.google.code.gson:gson:2.9.0'
实体类解析成字符串
val applyBean = ApplyBean("app", 1, "xxx.xx.xx") val gson = GsonBuilder().create() val jsonString = gson.toJson(gson) //可以选择放入jsonObject val jsonObject = JSONObject(jsonString)
字符串解析成实体类
val applyBeanString = "{ \"name\": \"aa\",\"icon\": 1,\"packageName\": \"xxxx\" }" val gson = GsonBuilder().create() val applyBean = gson.fromJson<ApplyBean>(applyBeanString, ApplyBean::class.java)
JsonArray字符串解析成实体类集合
val jsonString = mSP.getString(key, "") if (jsonString.isNullOrEmpty()) { return mutableListOf() } val type = object : TypeToken<MutableList<ApplyBean>>() {}.type return mGson.fromJson(jsonString, type)
实体类集合解析成JsonArray字符串
val list = mutableListOf<ApplyBean>()
mGson.toJson(list)
指定字段不参与序列号与反序列化
关键字 @Transient 如果是java 直接在字段类型前面写写 transient
data class ApplyBean(var name: String?, @Transient var icon: Drawable?, var packageName: String?)
End
本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/16108293.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效