我有两个API,其中一个向我发送了一个Appointment对象,其主体如下所示
data class Appointment( id:Long = 4, name:String = "name" ... )
而另一个人应该从我这里得到这个身体
{ name:"name" }
如果Kotlin代码中没有id字段,我想将Id设置为空,Gson应该忽略它,因为它是空的。如何做到这一点?如何将kotlin类转换为没有空值的json
hxzsmxv21#
默认情况下,Gson会跳过null值。假设您有一个ID可以为null的Appointment类:
data class Appointment( val id: Long?, val name: String, )
如果id为null,则它不会出现在json:
val gson = Gson() gson.toJson(Appointment(null, "hello")) // => {"name":"hello"}
如果你想序列化空值,可以使用gson builder中的serializeNulls()方法:
serializeNulls()
val gson = GsonBuilder().serializeNulls().create() gson.toJson(Appointment(null, "hello")) // => {"id":null,"name":"hello"}
1条答案
按热度按时间hxzsmxv21#
默认情况下,Gson会跳过null值。假设您有一个ID可以为null的Appointment类:
如果id为null,则它不会出现在json:
如果你想序列化空值,可以使用gson builder中的
serializeNulls()
方法: