有没有办法为klaxon解析指定值

时间:2018-06-20 18:27:00

标签: json object kotlin klaxon

data class AI constructor(@Json(ignored = true) val statusCode: Int,
                                              @Json(name="a") val a: Long?,
                                              @Json(name="b")val b: Long?,
                                              @Json(name="c")val c: Date?,
                                              @Json(name="d")val d: Long?,
                                              @Json(name="e")val e: String?,
                                              @Json(name="f")val f: String?) : AI()

这是我在上面使用Klaxon库的方式(响应的类型为khttp的响应)

if (response.statusCode == 200) {
            val nullable: AI? = Klaxon().parse<AI>(response.text)
}

这里的问题是response.text将没有状态码,因为它实际上是从以下位置获得的:

response.statusCode()

理想情况下,我一直在寻找一种方法来为Klaxon传递一个名称值对,该名称对可以用来设置找不到的值。

到目前为止,我的解决方案入围名单(似乎都不是最佳选择):

  1. 将200设为该数据类的默认值,因为304是有效的,所以并不想这样做。
  2. 为此数据创建一个类,然后使用statusCode和所创建类的实例构造AI,请确保,但是如果我遇到这种情况时必须这样做,那么我将拥有很多带有1或2的数据类。 2个字段。
  3. 操纵json以包含状态代码,这似乎是一项黑客工作。
  4. 希望Klaxon有一种在解析时设置值的方法。

我真的在寻找第4点附近的东西,所以如果有人有任何想法,我都会为之倾听。

0 个答案:

没有答案