New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
使用kotlin的data class 时会报错:没有默认构造器 #1607
Comments
报错时使用的是 fastjson:1.1.67.android 改成 fastjson:1.2.41 程序就可以正常运行了。 |
这个问题经过验证依然存在, @wenshao 问一下什么版本可以解决啊?data class 使用的场景实在太多了 |
@StanNing 能提供重现问题的testcase么? |
@wenshao
|
解决了,加一行compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version",使用的时1.2.54 |
楼上兄弟厉害。我试过noarg,allopen,都配置不了。 |
@wenshao @GuitarDian 为什么我加了implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" ,还是会报 default constructor not found |
依赖添加
亲测有效 |
用的是kotlin使用范例上面的内容,但是程序依然会崩溃。期待解决。
出错内容:
Process: cn.ac.ia.iot.www.telemedicine, PID: 8718
com.alibaba.fastjson.JSONException: default constructor not found. class cn.ac.ia.iot.www.telemedicine.mvp.model.bean.DataClass
at com.alibaba.fastjson.parser.JavaBeanInfo.build(JavaBeanInfo.java:496)
at com.alibaba.fastjson.parser.JavaBeanDeserializer.(JavaBeanDeserializer.java:35)
at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:229)
at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:148)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:683)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:659)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:238)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:210)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:169)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:278)
at cn.ac.ia.iot.www.telemedicine.mvp.presenter.ActivityLoginPresenter.attemptLogin(ActivityLoginPresenter.kt:44)
at cn.ac.ia.iot.www.telemedicine.ui.activity.LoginActivity.attemptLogin(LoginActivity.kt:74)
at cn.ac.ia.iot.www.telemedicine.ui.activity.LoginActivity.onClick(LoginActivity.kt:88)
at android.view.View.performClick(View.java:4790)
at android.view.View$PerformClick.run(View.java:19924)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5418)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1037)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)
The text was updated successfully, but these errors were encountered: