2014-10-28 7 views
0

У меня есть JSON-файл с содержанием:Преобразовать Json Формат

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

Я хочу, чтобы преобразовать его в хорошем формате (например, формат дерево или таблицу). Знают ли какие-нибудь хорошие пакеты Java для этого?

Благодаря

+0

Хотя JSON предоставляет определенный способ описания данных, данные st описанные им описания являются чисто произвольными. Также произвольным является формат, который вы хотите преобразовать. Как единая общая библиотека может преобразовываться из одной произвольной структуры в другую? – JAAulde

+0

@JAAulde JAXB? –

ответ

1

Это обыкновение работать, как по волшебству, вы можете использовать либо Gson или Джексона для отображения JSON в типы ява или объекты, оттуда вы можете делать все, что вы хотите с этими 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;) –

+0

I haven 'попробовал JAXB, но я посмотрю: D! –

+0

Легко! Все что вам нужно: 1 класс, 1 аннотация, 1 xml и выполнить unmarshall. С наилучшими пожеланиями! –