2015-06-10 40 views
0

我想節省一些JSON到文件withDefaultPrettyPrinter()不會使輸出被格式化

這是我的serializtion代碼:

private String serializeToJson(T item) { 
    String json; 
    ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); 
    try { 
     json = ow.writeValueAsString(item); 
    } catch (IOException e) { 
     e.printStackTrace(); 
     json = ""; 
    } 
    return json; 
} 

,但我的JSON是保存到文件沒有格式化:

eg它的一部分是:

{ 「路徑」:{ 「segmentId」:69798169, 「節點ID」:18477384, 「×」: - 71.12074, 「Y」:42.33235}, 「街道」:1,」 altStreets 「:空,」 距離 「:59,」 長度 「:178,」 crossTime 「:49,」 crossTimeWithoutRealTime 「:49,」 瓦片 「:[0,1],」 的clientId 「:[166177],」 指令」 :?

+0

作品˚F我在''com.fasterxml.jackson.core:jackson-databind:2.2.0''上爲我:http://i.gyazo.com/8557b0b813cb064ca6bcff69540cd529.gif你用什麼版本的Jackson – varren

回答

0

試圖傑克遜漂亮的打印映射假定對象已經實施了toString方法

ObjectMapper mapper  = new ObjectMapper(); 


      try { 
    System.out.println("Default output:"+mapper.writeValueAsString(object)); 
      System.out.println("Pretty printing:\n"+mapper.defaultPrettyPrintingWriter().writeValueAsString(object));