Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Обзор API связывания с JSON

В этом разделе приведены основные инструкции по использованию клиентского API JSON-B. Инструкции служат основой для понимания примера jsonbbasics. Обратитесь к странице проекта JSON-B для получения документации по API и более подробного руководства пользователя.

Здесь рассматриваются следующие темы:

Создание объекта jasonb

Объект jsonb предоставляет доступ к методам привязки объектов к JSON. Один объект jsonb требуется для большинства приложений. Объект jsonb создаётся с использованием интерфейса JsonbBuilder, который является точкой входа клиента в API привязки JSON. Например:

Jsonb jsonb = JsonbBuilder.create();

Использование маппинга по умолчанию

JSON-B предоставляет сопоставления по умолчанию для сериализации и десериализации основных типов Java и Java SE, а также классов даты и времени Java. Чтобы использовать сопоставления по умолчанию, создайте объект jsonb и используйте метод toJson для сериализации в JSON, а метод fromJson для десериализации обратно в объект. В следующем примере привязывается простой объект Person, который содержит одно поле name.

Jsonb jsonb = JsonbBuilder.create();

Person person = new Person();
person.name = "Fred";

Jsonb jsonb = JsonbBuilder.create();

// сериализация в JSON
String result = jsonb.toJson(person);

// десериализация из JSON
person = jsonb.fromJson("{name:\"joe"\"}", Person.class);

Использование настроек

JSON-B поддерживает множество способов настройки поведения по умолчанию. Для настроек во время выполнения при создании jsonbinstance используется объект конфигурации JsonbConfig. Класс JsonbConfig поддерживает множество параметров конфигурации, а также включает расширенные параметры для привязки пользовательских типов данных. Дополнительные параметры см. в интерфейсах JsonbAdapter и интерфейсах JsonbSerializer и JsonbDeserializer.

В следующем примере создаётся объект конфигурации, который задаёт свойство FORMATTING, чтобы указать, будут ли сериализованные данные JSON форматироваться с помощью перевода строки и отступа.

JsonbConfig config = new JsonbConfig()
    .withFormatting(true);

Jsonb jsonb = JsonbBuilder.create(config);

Использование аннотаций

JSON-B включает множество аннотаций, которые можно использовать во время компиляции для настройки поведения по умолчанию. В следующем примере аннотация @JsonbProperty используется для изменения поля name на person-name, когда объект сериализуется в JSON.

public class Person {
    @JsonbProperty("person-name")
    private String name;
}

Результирующий документ JSON записывается как:

{
    "person-name": "Fred",
}

Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)