gpt4 book ai didi

java - 使用 Jackson 创建 json 并在某些情况下忽略对象

转载 作者:行者123 更新时间:2023-12-01 14:23:38 28 4
gpt4 key购买 nike

我只想在某些情况下应用@JsonIgnore。

例如,在一种情况下,我可能只需要测试对象,而不是测试中的所有问题。 但在其他情况下,我可能需要使用 @JsonManagedReference

来回答所有问题
class Test{
private string testName;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="abc")
@JsonIgnore
private Set<question> question;
}

最佳答案

尝试@JsonView。它允许您根据序列化期间提供的 View (标记类)有条件地包含/抑制属性。

class Test {
private String testName;

@JsonView(SomeCondition.class)
private Set<Question> questions;
}

@GET
@Path("/testWithCondition")
@JsonView(SomeCondition.class)
public Response getTestWithCondition() {
Test test = testService.lookupTest();
return Response.ok(test).build();
}

注意:您可能必须在 ObjectMapper 上禁用 MapperFeature.DEFAULT_VIEW_INCLUSION。

关于java - 使用 Jackson 创建 json 并在某些情况下忽略对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17336147/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com