json - 为什么 Kotlin 对象类到 json 对象为空?
问题描述
我正在尝试使用 Gson() 将 kotlin 对象类转换为 JSON 字符串,但它返回 null ,因为对象字段实际上保存了值。如果它是一个单例对象,为什么我不能直接使用它来将它转换为 JSON 字符串?
val gson = Gson()
val dummy= Dummy
val objDummy = gson.toJson(dummy)
对象类:
object Dummy: Serializable{
var test2: String? = "test2"
var blank: String? = null
var test1: String? = "test1"
}
解决方案
中的属性object
将被转换为隐式瞬态的静态字段
您可以使用GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT)
允许 Gson 序列化此类字段。
val gson = GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).create()
val dummy = Dummy
val objDummy = gson.toJson(dummy)
此外,Serializable
用于object
推荐阅读
- mysql - MySQL-基于多列输出“其他”列
- javascript - 将道具传递给父母
- java - Java 8拆分字符串并在地图内创建地图
- mysql - 在我的 sql < 8 中获取树文件夹结构的父母和孩子,并且没有 CTE
- amazon-web-services - AWS API Gateway 删除响应标头
- javascript - 尝试设置 href 时 element.setAttribute 不是函数
- php - 如何在 Woocommerce 中禁用或删除持久购物车?
- c++ - 出现错误“运行时检查失败 #2 - 围绕变量 'midtermgrade' 的堆栈已损坏。”
- javascript - HTML 表单使整个页面崩溃
- android - 在三星手机上进入 PIP(画中画)模式时出现错误“设备不支持画中画模式”