如何忽略杰克逊中的空列表?

Car*_*ine 2 java json

我有以下实体,我希望我的 Web 服务作为 json 传递

@Entity(name = "tests")
public class Test {

    @Id
    @GeneratedValue
    private int id;

    @Column(name = "test_name")
    private String name;

    @JoinColumn(name = "test_id")
    @OneToMany(cascade = CascadeType.REMOVE)
    private List<Question> questions;

}

@Entity(name = "questions")
public class Question {

    @Id
    @GeneratedValue
    private int id;

    @Column
    private String question;

    @Column(name = "is_multi_select")
    private boolean isMultiSelect;

    @JoinColumn(name = "question_id")
    @OneToMany(cascade = CascadeType.REMOVE)
    private List<Answer> answers;

}
Run Code Online (Sandbox Code Playgroud)

问题是我希望问题列表不包含在我的 json 中,但我就是不能让杰克逊忽略它们。

我尝试用 注释问题列表@JsonIgnore,但没有结果。我该怎么做呢?

聚苯乙烯

忘记提及序列化是通过球衣完成的,这是实际返回我的测试列表的方法

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/tests")
public Response getLanguageList() {
    List<Test> tests = TestDao.getTests();
    return Response.status(200).entity(tests).build();
}
Run Code Online (Sandbox Code Playgroud)

小智 6

@JsonInclude(JsonInclude.Include.NON_EMPTY)
Run Code Online (Sandbox Code Playgroud)

NON_EMPTY 使仅包含非空字段而不包含空集合类型字段。