2013-08-26 217 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

相關問題