發現一個有意思的事情
代碼
@NoArg
data class Test(
val a: String,
val b: String?
)
fun main(args: Array<String>) {
val t = JSON.parseObject("""{"":""}""", Test::class.java)
println("${t}")
println("${t.a}")
println("${t.b}")
}
輸出
Test(a=null, b=null)
null
null
作爲比較
當解析字符串爲{}
時
@NoArg
data class Test(
val a: String,
val b: String?
)
fun main(args: Array<String>) {
val t = JSON.parseObject("""{}""", Test::class.java)
println("${t}")
println("${t.a}")
println("${t.b}")
}
輸出
null
Exception in thread "main" java.lang.NullPointerException
at MainKt.main(main.kt:30)
fastjson沒有初始化對象,不知道有沒有選項,可以調整