Fastjson: 不支持javaBean为Builder模式的链式编程

Created on 29 Mar 2019  ·  1Comment  ·  Source: alibaba/fastjson

当json串反序列化成JavaBean时,该javaBean是Builder模式的链式编程结果,反序列化失败,未找到默认构造函数
javaBean如下:

import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

@Builder
@Getter
@Setter
public class TestEntity {
    private String name;

    private int age;
}

序列化代码如下:

import com.alibaba.fastjson.JSON;

public class Test {
    public static void main(String[] args) {
        String jsonStr = "{\"age\":1,\"name\":\"aa\"}";

        TestEntity testEntity = JSON.parseObject(jsonStr, TestEntity.class);
    }
}

错误如下:

Exception in thread "main" com.alibaba.fastjson.JSONException: default constructor not found. class com.dzcx.test.TestEntity
    at com.alibaba.fastjson.util.JavaBeanInfo.build(JavaBeanInfo.java:519)
    at com.alibaba.fastjson.parser.ParserConfig.createJavaBeanDeserializer(ParserConfig.java:728)
    at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:645)
    at com.alibaba.fastjson.parser.ParserConfig.getDeserializer(ParserConfig.java:394)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:669)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:369)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:273)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:546)
    at com.dzcx.test.Test.main(Test.java:9)

版本:1.2.55

>All comments

Was this page helpful?
0 / 5 - 0 ratings