如何在杰克逊禁用fail_on_empty_beans?

2022-08-31 08:25:18

使用jackson 2.1,我如何禁用错误消息似乎希望我禁用?fail_on_empty beans

我假设这只是世界上最简单的事情,但是地狱已经很晚了,我无法找到一个简单的教程或任何特别明显的.?为什么他们会让它变得如此不直观,然后让错误消息看起来如此简单?apiSerializationFactory

虽然我确实喜欢错误消息,但我的意思是,它比NPE更好。

我假设有一种方法可以使用注释来做到这一点 - 但我根本不热衷于将它们用于我正在做的简单化工作!


答案 1

我相信,你可以按班级或全球范围做到这一点。

对于每个类,请尝试@JsonSerialize上述类声明。

对于映射器,下面是一个示例:

ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
// do various things, perhaps:
String someJsonString = mapper.writeValueAsString(someClassInstance);
SomeClass someClassInstance = mapper.readValue(someJsonString, SomeClass.class)

下面的StackOverflow链接也有一个Spring项目的示例。

对于REST与泽西岛,我不记得我头上的顶部,但我相信它是相似的。


我挖出的几个链接:(由于Codehaus关闭,编辑了第一个链接)。


答案 2

如果您使用的是 Spring Boot,则可以在 application.properties 文件中设置以下属性。spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false


推荐