Шаг 140.
Язык программирования Java.
Библиотека Gson. Класс GsonBuilder

На этом шаге мы рассмотрим класс GsonBuilder

До этого шага мы изучали низкоуровневое API библиотеки Gson. С этого шага мы начнем изучать высокоуровневое API. Ключевым элементом данного API является объект класса Gson. Создать его можно следующим способом:

Gson gson = new Gson();

Но такой способ используется редко, так как создастся объект с настройками по умолчанию и изменить их уже будет нельзя. Для того чтобы можно было создать Gson с различными настройками сериализации и десериализации нужно использовать GsonBuilder. GsonBuilder - это класс с различными функциями. Они приведены ниже в таблице 1.

Таблица 1. Функции класса GsonBuilder
Функция Описание
Gson create() Создает объект класс Gson с заданными настройками.
GsonBuilder addDeserializationExclusionStrategy(ExclusionStrategy strategy) Функция для указания стратегии исключения из десериализации полей.
GsonBuilder addSerializationExclusionStrategy(ExclusionStrategy strategy) Функция для указания стратегии исключения из сериализации полей.
GsonBuilder disableHtmlEscaping() По умолчанию без вызова этой функции все символы, которые участвуют в html тегах будут преобразовываться при сериализации в их коды. Если вызвать эту функцию, то этого не будет происходить.
GsonBuilder disableInnerClassSerialization() Внутренние классы не сериализуются.
GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) Используется для регистрации пользовательского способа сериализации или десериализации объектов.
GsonBuilder serializeNulls() По умолчанию null значения не сериализуются. Чтобы этого не происходило нужно вызвать эту функцию.
GsonBuilder setDateFormat(int style) Установка формата сериализации даты.
GsonBuilder setDateFormat(int dateStyle, int timeStyle) Установка формата сериализации даты и времени.
GsonBuilder setDateFormat(String pattern) Установка формата сериализации даты и времени по образцу.
GsonBuilder setExclusionStrategies(ExclusionStrategy... strategies) Функция для указания стратегии исключения из десериализации и сериализации полей.
GsonBuilder setFieldNamingPolicy(FieldNamingPolicy namingConvention) Установка правила именования полей при сериализации.
GsonBuilder setFieldNamingStrategy(FieldNamingStrategy fieldNamingStrategy) Установка стратегии именования полей при сериализации.
GsonBuilder setPrettyPrinting() По умолчанию переносы строк и отступы при сериализации игнорируются. Чтобы этого не происходило используйте эту функцию.

Как видно из сигнатур функций, все они возвращают тот же самый объект, но уже с новыми настройками. Это позволяет производить целую цепочку вызовов данных функций.

Создать объект типа Gson с помощью GsonBuilder можно следующим способом:

Gson gson = new GsonBuilder()
       .disableHtmlEscaping()
       .serializeNulls()
       .setPrettyPrinting()
       .create();

На следующем шаге мы рассмотрим функции toJson и fromJson

Предыдущий шаг Содержание Следующий шаг