Всем привет! Вот и наступил 2013 год и это моя первая в новом году статья. Очень надеюсь на то, что в новом году буду писать новые статьи каждую неделю. Моя новая статья про библиотеку GSON от Google. GSON предназначен для конвертации Java объектов в JSON и обратно. GSON является очень простой для использования библиотекой.
Теперь о том что такое JSON. JSON - это легковесный текстовый формат обмена данными. Более подробно о нем можно прочитать тут http://ru.wikipedia.org/wiki/JSON В Java мы работаем с объектами, поэтому возникает необходимость конвертировать Java объекты в JSON и обратно.
В GSON нам понадобиться всего два метода: один для конвертации Java объекта в JSON и второй для обратной задачи.
Gson gson = new Gson();
Теперь о том что такое JSON. JSON - это легковесный текстовый формат обмена данными. Более подробно о нем можно прочитать тут http://ru.wikipedia.org/wiki/JSON В Java мы работаем с объектами, поэтому возникает необходимость конвертировать Java объекты в JSON и обратно.
В GSON нам понадобиться всего два метода: один для конвертации Java объекта в JSON и второй для обратной задачи.
Gson gson = new Gson();
- String json = gson.toJson(Object obj); для конвертации Java объекта в JSON
- obj = gson.fromJson(Object obj, Class class); для конвертации JSON в Java объект
Maven dependency для подключения GSON.
Для использования библиотеки GSON в проекте необходимо прописать следующую зависисмость в pom.xml файле. Для подключения библиотеки без использования maven нужно скачать библиотеку отсюда http://code.google.com/p/google-gson/downloads/list
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.2</version> </dependency>
POJO
Напишем простой Java класс, объекты которого мы и будем конвертировать в JSON и обратно.
Переопределим метод toString(), он нам понадобится при проверке конвертации из JSON в Java объект.
package com.ipoint.danilov.GSONExample; import java.util.ArrayList; import java.util.List; public class Truck { private int capacity; private String type; private String name; private List<String> cargos = new ArrayList<String>(); @Override public String toString() { return "Truck [capacity=" + capacity + ", type=" + type + ", name="+ name + ", cargos=" + cargos +"]"; // getters and setters methods }
Конвертация Java объекта в JSON и обратно
package com.ipoint.danilov.GSONExample; import com.google.gson.Gson; public class App { public static void main( String[] args ) { // создаем экземпляр объекта который будем конвертировать в JSON Truck truck = new Truck(); // задаем значения его полям truck.setName("Грузовик"); truck.setCapacity(200); truck.setType("Крытый кузов"); truck.getCargos().add("Первый груз"); truck.getCargos().add("Второй груз"); truck.getCargos().add("Третий груз"); truck.getCargos().add("Четвертый груз"); // конвертируем наш JAVA объект в JSON Gson gson = new Gson(); String json = gson.toJson(truck); // и выводим результат System.out.println(json); // конвертируем из JSON обратно в JAVA объект truck = null; truck = gson.fromJson(json, Truck.class); // и снова выводим результат System.out.println(truck); } }
Результат конвертации в JSON
{"capacity":200,"type":"Крытый кузов","name":"Грузовик","cargos":["Первый груз","Второй груз","Третий груз","Четвертый груз"]}
Результат конвертации из JSON в JAVA объект
Truck [capacity=200, type=Крытый кузов, name=Грузовик, cargos=[Первый груз, Второй груз, Третий груз, Четвертый груз]]
Использование GSON в GWT проектах.
Использовать GSON в GWT проекте на стороне клиента не получится, так как GSON использует более сложные возможности Java (например, рефлексию), которые не поддерживается GWT на клиенте.
Я Артур Борис, житель / гражданин Российской Республики. Мне 52 года, предприниматель / предприниматель. Когда-то у меня были трудности с финансированием моего проекта / бизнеса, если бы не мой хороший друг, который представил меня мистеру Бенджамину Ли, чтобы получить кредит на сумму 250 000 долларов США от его компании. Когда я связался с ними, потребовалось всего пять рабочих дней, чтобы завершить процесс получения кредита и перевести его на мой счет. Даже с плохой кредитной историей, они все еще предлагают свои услуги вам. Они также предлагают все виды кредитов, такие как бизнес-кредиты, ипотечные кредиты, личные кредиты, автокредиты. Я не знаю, как поблагодарить их за то, что они сделали для меня, но Бог вознаградит их в соответствии с его богатством во славе. Если вам нужна срочная финансовая помощь, свяжитесь с ними сегодня по электронной почте lfdsloans@outlook.com WhatsApp information ... + 1-989-394-3740
ОтветитьУдалить