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'
加上上面依赖后,通过测试即使没有无参构造方法也是可以正常使用的