kotlin 使用FastJson报错JSONException: default constructor not found
Posted guangdeshishe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin 使用FastJson报错JSONException: default constructor not found相关的知识,希望对你有一定的参考价值。
Fastjson版本号:implementation ‘com.alibaba:fastjson:1.2.69’
错误信息:
com.alibaba.fastjson.JSONException: default constructor not found
User.kt
data class User(var name: String, var age: Int) {
}
问题分析:
网上找的结果都是说对象类少了无参的构造方法,那就加上吧
User.kt
data class User(var name: String, var age: Int) {
constructor() : this("", 0)
}
可是依然报了该错误,通过了解FastJson源码,原来它需要通过反射拿到kotlin的构造方法,要使用kotlin反射则需要依赖【kotlin-reflect】:
implementation 'org.jetbrains.kotlin:kotlin-reflect:1.5.20'
加上上面依赖后,通过测试即使没有无参构造方法也是可以正常使用的
以上是关于kotlin 使用FastJson报错JSONException: default constructor not found的主要内容,如果未能解决你的问题,请参考以下文章
解决使用Redis时配置 fastjson反序列化报错 com.alibaba.fastjson.JSONException: autoType is not support
fastjson 解析报错 com.alibaba.fastjson.JSONException: create instance error...
fastjson 将字符串转Java对象 日期序列化异常 日期格式报错解决