【问题标题】:Kotlinx.Serialization: Exclude object from serialization if all inner properties are also excludedKotlinx.Serialization:如果还排除了所有内部属性,则从序列化中排除对象
【发布时间】:2020-07-01 13:03:21
【问题描述】:

如果所有内部对象都被排除在外,我正在尝试实现从序列化中排除整个对象的功能。

例如当我想将这个数据类序列化为json时

data class Car(val engine: Engine? = null, val size: Size?  = null)
data class Engine(val type: String?  = null, val horsePower: Int?  = null)
data class Size(val size: Int? = null)

Car(engine = Engine(horsePower = null), size = Size(size = 1000))

那么我应该得到以下输出(即使设置了引擎也被排除在外)

car {
    size {
        size = 1000
    }
}

有人对如何实现这一点有任何提示吗?

【问题讨论】:

  • 你用什么序列化的?

标签: json kotlin kotlinx.serialization


【解决方案1】:

对于kotlinx.serialization,请使用@kotlinx.serialization.Transient

data class Car(
   
   @kotlinx.serialization.Transient
   val engine: Engine? = null
   ...

【讨论】:

  • 我不是。问题从 kotlinx.serialization 开始
猜你喜欢
  • 2011-05-16
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 2015-07-03
  • 2017-02-20
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多