gpt4 book ai didi

android - 带有默认值的 Kotlin-moshi 代码生成继承

转载 作者:行者123 更新时间:2023-12-04 12:03:27 33 4
gpt4 key购买 nike

如果我有一个开放类并从中继承数据类,Kotlin-moshi codegen 会跳过默认值。这是预期的行为吗?如何让 moshi-kotlin 解析所有值,包括父类(super class)中的默认值?

@JsonClass(generateAdapter = true)
data class B(val bar: String) : A(foo = "foo")

@JsonClass(generateAdapter = true)
open class A(val foo: String)

val b = B("bar")
adapter.toJson(b)打印 {"bar":"bar"}没有 channel 字段。

最佳答案

使您的父类(super class)属性可变可以解决您的问题。

@JsonClass(generateAdapter = true)
data class B(val bar: String) : A(foo = "foo")

@JsonClass(generateAdapter = true)
open class A(var foo: String)
输出
{"bar":"bar","foo":"foo"}

关于android - 带有默认值的 Kotlin-moshi 代码生成继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55629040/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com