我如何解析JSON,以便如果结构不符合我的预期而正常失败?

问题描述 投票:0回答:1

参考:https://bytes.babbel.com/en/articles/2018-05-25-kotlin-gson-nullability.html

本文讨论GSON与Kotlin的缺点之一。如果我们有这样的数据类并尝试将其破坏:

data class User(
    val email: String,
    val firstName: String)

fun main(args: Array<String>) {
  val json = """{
    "email": null
    }"""
  val gson = Gson()

  println(gson.fromJson(json, User::class.java).email)
}

一旦解析它并使用email字段,我们将返回NullPointerException。这是GSON的预期行为。

是否有一个库可以给我类似IllegalStateException的错误并验证哪个字段应该为空?或者,是否有一种方法可以解决MoshiGSON或任何其他JSON库,从而使我得到类似的错误?

android json kotlin deserialization
1个回答
0
投票

如果缺少字段,Gson不会给出NullPointerException。它只是忽略对象的丢失字段。有关更多详细信息,我将要求您与错误和代码共享错误日志。

© www.soinside.com 2019 - 2024. All rights reserved.