【发布时间】:2016-07-22 03:25:05
【问题描述】:
我正在尝试使用 Jackson mixins 来忽略外部 Kotlin 数据类的属性,但到目前为止,它对我不起作用。
这是我的 SimpleModule 扩展:
class BarModule : SimpleModule() {
override fun setupModule(context: SetupContext?) {
context?.setMixInAnnotations(Bar::class.java, BarMixin::class.java)
}
}
这是我的混音:
abstract class BarMixin {
@JsonIgnore val totalValue: Double = 0.0
}
我最初尝试过@JsonIgnore val totalValue: Double,但它不接受。
这是我的课:
data class Bar(
val a: String,
val b: Boolean = false,
val c: Boolean = false,
val d: Array<Block>
) {
val totalValue: Double by lazy {
d.sumByDouble { it.value }
}
}
这就是我创建映射器的方式:
private val mapper = jacksonObjectMapper().registerModule(KotlinModule()).registerModule(BarModule())
运行时崩溃并报错:无法启动活动:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“totalValue”,未标记为可忽略
【问题讨论】:
标签: android json jackson kotlin