我希望我的 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;
}
问题是我希望问题列表不包含在我的 json 中,但我无法让 jackson 忽略它们。
我尝试用@JsonIgnore
注释问题列表,但没有结果。我该怎么做?
附注
忘记提及序列化是通过 Jersey 完成的,这是实际返回我的测试列表的方法
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/tests")
public Response getLanguageList() {
List<Test> tests = TestDao.getTests();
return Response.status(200).entity(tests).build();
}
最佳答案
@JsonInclude(JsonInclude.Include.NON_EMPTY)
NON_EMPTY 使仅包含非空字段而不包含空集合类型字段。
关于java - 如何忽略 jackson 中的空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815601/