2013-08-26 181 views
1

获取错误我想序列化我创建一个名为用户的域对象到json文件。配置jackson映射器对象SerializationFeature.INDENT_OUTPUT

ObjectMapper mapper = new ObjectMapper(); 
List<User> users = new ArrayList<User>(); 

    users.add(user1); 
    users.add(user2); 
    users.add(user3); 

mapper.writeValue(file, users);   

上面的工作正常,并将数据以不友好的方式写入文件。 我想在写入文件时对其进行美化。所以我遇到了SerializationFeature.INDENT_OUTPUT,但由于某种原因,这并不适合我。

mapper.configure(SerializationFeature.INDENT_OUTPUT, true); 

我在eclipse编译得到的错误是如下:

在类型的方法配置(SerializationConfig.Feature,布尔值) ObjectMapper不适用于参数 (SerializationFeature,布尔值)

这是怎么回事?我错过了明显的东西吗?它不像文档中所示的那样工作。 预先感谢您。

回答

4

看起来Jackson的两个版本在您的classpath 1.x和2.x上,并且您正在混合这两个版本。您的ObjectMapper似乎来自1.x,并且您试图从2.x版本中通过SerializationFeature

因此,您必须使用com.fasterxml.jackson.databind.ObjectMapper(2.x)或必须将SerializationConfig.Feature传递给方法configure

有关更改,请参阅this

相关问题