java - 无法从 Json 字符串创建对象列表

标签 java spring-boot java-8 lombok jsonparser

@Data
@Builder
public class A implements Serializable {
    private List<B> bList;
}
@Data
@Builder
public class B implements Serializable {
    private String name;
    private String lname;
}

在我的主类中,我尝试从 json 字符串创建列表。使用objectMapper.readValue()

只要我不在 A 类和 B 类上保留 @Builder 注释,它就可以正常工作。

但是当我尝试使用带有 @Builder 注释的相同字符串创建列表时,它开始抛出错误

 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of A**

 (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

最佳答案

您可以按如下方式更改代码

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class A implements Serializable {
    private List<B> bList;
}

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class B implements Serializable {
    private String name;
    private String lname;
}

关于java - 无法从 Json 字符串创建对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59647275/

相关文章:

spring-boot - 无法加载资源:net::ERR_CERT_AUTHORITY_INVALID Angular 4

java - 生成笛卡尔积java

java - 静态或非静态方法中的 JUnit 测试数据

java - 使用Streams为列表的每个元素调用方法

java - 更新 Set 中的对象

spring-boot - Spring Integration Framework - 动态注册流程缓慢

java - JUNIT 格式的输出

java - 使用 spring boot 从 Secret Manager GCP 获取值

java - 在 RxJava 中超时取消任务

java - 为什么layout_gravity设置为left/right在水平LinearLayout中没有效果?