2014-10-28 172 views
0

我有內容的JSON文件:轉換JSON格式

{ 
    "id" : 10, 
    "name" : "book1", 
    "user" : "john", 
    "chapters" : [ 
     { 
      "chaptername" : "chapter1", 
      "content" : "index" 
     } 
    ] 
} 

我想它有一個很好的格式(例如樹格式或表)轉換。有沒有人知道一些好的java包?

感謝

+0

儘管JSON提供了一種定義的描述數據的方式,但數據st它描述的結構純粹是任意的。您也希望轉換的格式也是任意的。一個單獨的通用庫如何能夠從一個任意結構轉換到另一個結構? – JAAulde 2014-10-28 21:31:03

+0

@JAAulde JAXB? – 2014-10-28 21:34:42

回答

1

它不會像變魔術一樣工作,您可以使用GSON或傑克遜映射JSON轉換成Java類型或對象,從那裏你可以做你想要映射爲對象的JSON的一切。

例如,你將有下面這樣的藍圖:

public class YourJson { 

private int id; 
private String name, user; 
private Chapter[] chapter; 

... 
// Getters and setters ommitted 
... 
} 

public class Chapter { 
private String chaptername; 
private String content; 
... 
// Getters and setters ommitted 
... 
} 

一旦你在項目中加入傑克遜作爲一個庫,你可以使用傑克遜的對象映射

ObjectMapper objectMapper = new ObjectMapper(); 
YourJson jsonAsObject = objectMapper.readValue(yourJsonString, YourJson.class); 

從那裏你可以訪問屬性

System.out.println(jsonAsObject.getId()); 
+0

我會推薦JAXB;) – 2014-10-28 21:36:11

+0

我haven'試過JAXB,但我會看看:D! – 2014-10-28 21:39:00

+0

這很容易的人!所有你需要的是:1個類,1個註釋,1個XML並執行unmarshall。最好的祝福! – 2014-10-28 21:43:21