观心静

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  421 随笔 :: 0 文章 :: 86 评论 :: 139万 阅读

前言

  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

posted on   观心静  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示