fastjson版本:1.2.47 在我个人的安卓demo工程中,底层网络库module用java写的,数据解析部分使用的fastjson,具体业务module用kotlin写的,解析data class 时抛出如下异常:java.lang.NullPointerException: Attempt to get length of null array 数据解析部分代码如下:JSON.parseObject(data, mType, config, featureValues,fea...
class KotlinErrorTest { @Test fun testFastJson() { val jsonObj = JSONObject().apply { this["accessorUuid"] = "accessorUuid" this["orgId"] = 4343L this["resumeTaskId"] = "resumeUrl" this["resumeBody"] = {} } // 这里 toJSONString 破坏了 kotlin_error 这个变量 JSON.toJSONString(...
还是不行呢 @wenshao已经可以了,由于项目组件化,刚好子模块没有引用kotlin-reflect导致出问题!
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"之后,依然报default constructor not found错误的,可以在混淆配置添加 -keepattributes *Annotation* -keep class kotlin.** { *; } -keep class org.jetbrains.** { *; } 亲测有效...
fastjson版本:1.2.47 在我个人的安卓demo工程中,底层网络库module用java写的,数据解析部分使用的fastjson,具体业务module用kotlin写的,解析data class 时抛出如下异常: java.lang.NullPointerException: Attempt to get length of null array 数据解析部分代码如下:
1.FastJson和kotlin版本不兼容 2.工程中需要引入kotlin-reflect 3.需要对data class的非空字段默认初始化4.…… 第三个字段初始化问题不太可能,因为受影响的class从来没改动过,不可能好端端出问题。估计问题应该还是出在工程环境上。 于是去工程里看了一下kotlin-reflect依赖,仍然是正常引入的。
引入fastjson库, 实体类用Kotlin编写,调用JSON.parseObject()函数,报错 default constructor not found 比如实体类如下 代码语言:javascript 代码运行次数:0 dataclassUserBeans(varcode:Int=0,varmsg:String="",) 解决方式1 降低FastJson版本 代码语言:javascript ...
1.FastJson和kotlin版本不兼容 2.工程中需要引入kotlin-reflect 3.需要对data class的非空字段默认初始化 4.…… 第三个字段初始化问题不太可能,因为受影响的class从来没改动过,不可能好端端出问题。估计问题应该还是出在工程环境上。
在Kotlin中,你可以使用Fastjson提供的API将Java对象序列化为JSON字符串。 kotlin import com.alibaba.fastjson2.JSON data class User( val name: String, val age: Int ) fun main() { val user = User("Alice", 30) val jsonString = JSON.toJSONString(user) println(jsonString) // 输出: {"name"...
Fastjson反序列化kotlin data class对象,参考Use Fastjson in Kotlin 运行demo: data class DataClassSimple(val a : Int, val b : Int) fun main(args: Array<String>) { val dts = DataClassSimple(1,2) val jsons = JSON.toJSONString(dts) println(jsons) val clzs = DataClassSimple::class print...