为什么不在com.fasterxml.jackson.databind.ObjectMapper static中创建一些方法呢?

时间:2016-09-19 02:08:47

标签: java json jackson

在我的项目中,我使用了很多com.fasterxml.jackson.databind.ObjectMapper来处理JSON,例如:

ObjectMapper mapper = new ObjectMapper();
A a = mapper.readValue(file.getBytes(), A.class);

乍一看,我认为将readValue方法设置为静态会更好,然后我们可以将它用作ObjectMapper.readValue(),更加清晰。但我知道必须有一些原因,它不应该,有人知道吗?

1 个答案:

答案 0 :(得分:3)

其他原因是ObjectMapper的每个实例都绑定了ObjectMapper准备好的特定配置,而序列化和反序列化处理如下所示。  因此,您可以在对象转换过程中配置不同的startegies。

 ObjectMapper mapper = new ObjectMapper();
   mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
   String json = mapper.writeValueAsString(new MyBean());