2014-10-28 191 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