Пусть есть такой простой класс
class Book {
private String name;
private List authors;
...
}
Мне нужно отображать экземпляры этого класса либо список таких экземпляров в JSON и получать их из JSON обратно.
Попалась и понравилась библиотека Gson от гугла, с ней такие вещи делаются легко и удобно. К проекту нужно добавить одну jar-ку размером 185KB.
book.setName("Test Book");
book.addAuthor("A");
book.addAuthor("Б");
Gson gson = new Gson();
String result = gson.toJson(book);
В результате получаем:
{"name":"Test Book","authors":["A","Б"]}
class Book {
private String name;
private List
...
}
Мне нужно отображать экземпляры этого класса либо список таких экземпляров в JSON и получать их из JSON обратно.
Попалась и понравилась библиотека Gson от гугла, с ней такие вещи делаются легко и удобно. К проекту нужно добавить одну jar-ку размером 185KB.
Отображение одного объекта
Book book = new Book();book.setName("Test Book");
book.addAuthor("A");
book.addAuthor("Б");
Gson gson = new Gson();
String result = gson.toJson(book);
В результате получаем:
{"name":"Test Book","authors":["A","Б"]}
Восстановление объекта из JSON
book = gson.fromJson(result, Book.class);Отображение списка объектов
Book book2 = new Book();
book2.setName("Test Book 2");
book2.addAuthor("A2");
book2.addAuthor("Б2");
List books = new ArrayList();
books.add(book);
books.add(book2);
String booksStr = gson.toJson(books);
Получаем:
[{"name":"Test Book","authors":["A","Б"]},{"name":"Test Book 2","authors":["A2","Б2"]}]
Восстановление списка объектов
Type collectionType = new TypeToken
- >(){}.getType();
List gBooks = gson.fromJson(booksStr, collectionType);
Готово!
Комментариев нет:
Отправить комментарий