kotlin data class com.alibaba.fastjson.JSONException: default constructor not found

本文解决在使用Kotlin的dataclass与Fastjson进行JSON解析时遇到的defaultconstructornotfound错误。通过关闭HotSwap或在appbuild.gradle中添加kotlin-reflect依赖,实现Kotlin与Fastjson的完美兼容。

使用kotlin编写代码时,实体是data class,用fastjson的JSON.parseObject(json, clazz)时报错

com.alibaba.fastjson.JSONException: default constructor not found

解决参考:
方法1.可以关掉instant run,也就是HotSwap,如下图:
在这里插入图片描述
当然这招对我没用,我用方法2完美解决;

方法2.在app build.gradle dependencies中添加依赖即可:

implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"

我的配置版本如下:
project build.gradle:

buildscript {
    ext.kotlin_version = '1.3.50'
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

app build.gradle:

dependencies {
	//FastJson
    implementation 'com.alibaba:fastjson:1.2.58'
    implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值