Jackson:Cannot construct instance of **** (although at least one Creator exists):

Jackson:nested exception is java.lang.IllegalArgumentException: Cannot construct instance of **** (although at least one Creator exists):

要进行 json 转换的对象:

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * 获取 DOM 信息的信息传递对象
 *
 * @author : LiuXianghai on 2021/1/20
 * @Created : 2021/01/20 - 15:42
 * @Project : GetDataService
 */
@Data
public class ParseDomMessage {
    @JsonCreator
    public ParseDomMessage(@JsonProperty("message") String message,
                           @JsonProperty("startFlag") Boolean isStartParse,
                           @JsonProperty("finishedFlag") Boolean isParseEnd,
                           @JsonProperty("count") Long count) {
        this.isParseEnd         =       isParseEnd;
        this.isStartParse       =       isStartParse;
        this.message            =       message;
        this.count              =       count;
    }

    @JsonCreator
    public ParseDomMessage(){}

    // 传递的信息内容
    @JsonProperty("message")
    private String message;

    // 是否开始获取对应 DOM
    @JsonProperty("startFlag")
    private Boolean isStartParse;

    // 是否已经获取了对应的 DOM
    @JsonProperty("finishedFlag")
    private Boolean isParseEnd;

    /*
        计数标记, 每次发送的消息可能会被重新接受,
        因此这个属性的作用就是每次增加技术来避免可能会重复接受到同一消息的问题
     */
    @JsonProperty("count")
    private Long count;
}

待转换的 json数据:

{"message":"Start parse dom","startFlag":true,"finishedFlag":false,"count":1}

在使用 Jackson 的 ObjectMapper.convertValue() 方法对 json 数据进行转换时, 出现了以下异常:
在这里插入图片描述解决办法, 使用 ObjectMapper.readValue() 代替 ObjectMapper.convertValue() 对JSON数据进行反转, 即可解决问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值