在crashlytics上,我收到java.lang.IllegalStateException: readValue(content, jacksonTypeRef<T>()) must not be null在第四行java.lang.IllegalStateException: readValue(content, jacksonTypeRef<T>()) must not be null异常。 我无法复制它。 我认为mapper.readValue(string)在不应该返回null的地方。 我处理了字符串为null的情况,所以除了string为null之外,这可能导致mapper.readValue(string)返回null,所以我最终mapper.readValue(string)此异常,并且有什么可能的方法来重现此错误?

var token: token? = null
    get() {
       val string = sharedPreferences.getString(TOKEN_KEY, null)
       field = if (string == null) null else mapper.readValue(string)
       return field     
    }
    set(value) {
        field = value
        val json = mapper.writeValueAsString(value)
        sharedPreferences.edit().putString(TOKEN_KEY, json).apply()
    }

#1楼 票数:0 已采纳

事实证明sharedPreferences.getString(TOKEN_KEY, null)在这种情况下, sharedPreferences.getString(TOKEN_KEY, null)返回“ null”字符串,而mapper.readValue(string)返回null

  ask by Hadi Tok translate from so

未解决问题?本站智能推荐:

1回复

杰克逊的ObjectMapper.readValue()导致Kotlin UnrecognizedPropertyException

嗨,我正在尝试Kotlin,通常我可以在Java中使用ObjectMapper。 我想做的是存储一些包含键绑定上的数据的键绑定数组,以及应如何操作,例如按组合键CTRL + SHIFT + X应该“退出”,但是在Kotlin中,我似乎得到了: 应该由测试生成的keybinds文件似乎生
1回复

杰克逊ObjectMapper.readValue()

我正在使用Jackson读取整数列表,如下所示: 返回的列表包含在我的UI的网格中显示的业务列表。 我有以下问题: 返回的列表是否将保持序列。 在我的代码中,我使用列表的索引填充了一个名为businessDisplayPosition的变量。 这是怎么做的? 有没
2回复

Java-Jackson JSON库和ObjectMapper.readValue

我有以下json数据(patients.json): 使用Jackson JSON库,如何获得类似以下内容的信息:
2回复

Kotlin:带有 TypeReference 的 objectmapper.readValue() > 无法推断参数

我想使用以下代码将 json 反序列化为 Map with objectmapper: 编译器说它不能推断参数 T in fun <T : Any!> readValue (src: ByteArray!, valueTypeRef: (TypeReference<Any!&g
1回复

Jackson、Kotlin 和 Proguard

启用 Proguard 时,我遇到了 Jackson 和 Kotlin Data 类的问题。 Jackson 版本:2.9.1 Jackson Converter 版本:2.3.0 Kotlin 版本:1.2.51 这是我的 proguard 文件: 尽管如此,应用程序还是失败了,抛出了一个
2回复

使用 Kotlin 默认值进行 Jackson 反序列化失败

我正在使用 Jackson 反序列化来自 Retrofit 的 Json 响应。 为此,我使用了Jackson Module Kotlin库。 我有一些带有默认值的数据类,Java 表示为原语,因此在没有空检查的情况下访问它时不会崩溃。 这一切工作正常在debug模式,但是当我上运行的rele
1回复

Proguard/R8 正在为 Jackson 缩小 Kotlin 数据类中的 @JsonProperty 注释名称

我有一些用于 Retrofit2 的类,并由 Jackson 序列化。 它们在调试版本中工作,但是当我在启用 proguard 或 R8 缩小的情况下进行发布版本时,它会缩小类变量(如预期),但也会缩小@JsonProperty 生成的任何代码,导致网络请求与 json 一起发送,例如{ "a"
1回复

Kotlin 数据类 Jackson 序列化/反序列化相同对象失败

目前我正在做一个 Kotlin 项目,我们使用 Jackson 对我们的data class进行序列化/反序列化。 我开始编写一些单元测试并涵盖在序列化它之后创建data class的实例而不是反序列化它时,我收到了不同的对象。 我的意思是: 我的数据类 考试 在我运行测试后收到此异常: