kotlin - Kotlin 中的 Moshi 自定义限定符注释

标签 kotlin moshi

我在将某些代码转换为 kotlin 时遇到问题。自定义限定符的注释将被忽略。 我这样定义它们:

class ColorAdapter {

    @ToJson
    internal fun toJson(@PassDefinitions.HexColor rgb: Int): String {
        return String.format("#%06x", rgb)
    }

    @FromJson
    @PassDefinitions.HexColor
    internal fun fromJson(rgb: String): Int {
        return Color.parseColor(rgb)
    }
}

并尝试像这样使用它们:

@HexColor
override var backgroundColor: Int = 0

但它只是被忽略了。

最佳答案

请尝试以下语法:

@field:[HexColor]
override var backgroundColor: Int = 0

关于kotlin - Kotlin 中的 Moshi 自定义限定符注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36239422/

相关文章:

kotlin - Kodein + Ktor = 卡住 kotlin.collections.HashMap 的突变尝试 - 为什么?

kotlin - Android Navigation Instrumentation 测试抛出方法 addObserver 必须在主线程上调用

java - HashMap toJson 为空 JSON

json - Moshi自定义适配器将json镜像类转换为另一个

java - moshi 序列化支持,如 @jsonunwrapped

java - 遍历嵌套列表以按指定参数返回内部列表

jvm - 为什么我们不能在不初始化的情况下用 get 覆盖 val 属性作为 var 呢?

kotlin - Android Kotlin Room 实体数据类应该是 var、val 还是不关心?

android - Kotshi 问题 - Unresolved KotshiApplicationJsonAdapterFactory 引用

java - 使用Kotlin的Moshi 1.8.0无法将HashMap列表从JSON转换为JSON的问题