【问题标题】:Gson converter without null不带 null 的 Gson 转换器
【发布时间】:2021-10-04 12:57:07
【问题描述】:

我有两个 api,一个向我发送一个 Appointment 对象,它的主体是这样的

data class Appointment(
    id:Long = 4,
    name:String = "name"
   ...
)

另一个人应该从我这里得到这个身体

{
   name:"name"
}

没有 id 字段 在 kotlin 代码中,我想将 Id 设置为 null 并且 Gson 应该忽略它,因为它是 null 怎么做 ? 如何将 kotlin 类转换为没有空值的 json

【问题讨论】:

标签: android json gson retrofit2


【解决方案1】:

Gson 默认跳过空值。假设你有一个 id 可以为空的 Appointment 类:

data class Appointment(
    val id: Long?,
    val name: String,
)

如果id为null,则不会出现在json中:

val gson = Gson()
gson.toJson(Appointment(null, "hello")) // => {"name":"hello"}

如果要序列化 ​​null,请在 gson builder 中使用serializeNulls() 方法:

val gson = GsonBuilder().serializeNulls().create()
gson.toJson(Appointment(null, "hello")) // => {"id":null,"name":"hello"}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 2021-12-09
    • 2022-01-17
    相关资源
    最近更新 更多