Skip to content
This repository was archived by the owner on Oct 23, 2024. It is now read-only.
This repository was archived by the owner on Oct 23, 2024. It is now read-only.

1.2.37版本开始出现:default constructor not found 异常 #1569

@xdongliang

Description

@xdongliang

1.2.40版本,kotlin代码如下:

class User() {
    constructor(userId: Long, loginName: String) : this() {
        this.userId = userId
        this.loginName = loginName
    }

    var userId: Long = Long.MIN_VALUE
        private set
    var loginName: String = ""
        private set
}


fun main(args: Array<String>) {
    val json = "{\"loginName\":\"san\",\"userId\":1}"
    JSON.parseObject(json, User::class.java)
}

异常:

Exception in thread "main" com.alibaba.fastjson.JSONException: default constructor not found. class com.juxia.mpcrm.application.model.User
	at com.alibaba.fastjson.util.JavaBeanInfo.build(JavaBeanInfo.java:450)
	at com.alibaba.fastjson.util.JavaBeanInfo.build(JavaBeanInfo.java:211)
	at com.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:611)
	at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:528)
	at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:341)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:637)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:365)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:269)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:488)
	at com.juxia.mpcrm.application.model.SessionUserKt.main(SessionUser.kt:23)

已经提供无参默认构造函数为什么还说找不到?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions