Перейти к основному содержимому

50 записей с тегом "Jackson"

Посмотреть все теги

· 7 мин. чтения

1. Обзор

В этом уроке мы рассмотрим лучшие способы работы с двунаправленными отношениями в Джексоне .

Мы обсудим проблему бесконечной рекурсии Джексона JSON, затем — увидим, как сериализовать сущности с двунаправленными отношениями, и, наконец, — десериализуем их.

2. Бесконечная рекурсия

Во-первых, давайте взглянем на проблему бесконечной рекурсии Джексона. В следующем примере у нас есть две сущности — « Пользователь » и « Элемент » — с простым отношением «один ко многим » :

· 8 мин. чтения

1. Обзор

Jackson — это широко используемая библиотека Java, которая позволяет нам удобно сериализовать/десериализовать JSON или XML.

Иногда мы можем столкнуться с « java.lang.ClassCastException: java.util.LinkedHashMap не может быть приведен к X », когда пытаемся десериализовать JSON или XML в набор объектов.

В этом уроке мы обсудим, почему может возникнуть упомянутое исключение и как решить проблему.

2. Понимание проблемы

· 18 мин. чтения

1. Обзор

В этом уроке мы углубимся в аннотации Джексона .

Мы увидим, как использовать существующие аннотации, как создавать собственные и, наконец, как их отключить.

2. Аннотации сериализации Джексона

· 4 мин. чтения

1. Введение

В этом руководстве мы узнаем, как несколько раз читать тело из HttpServletRequest с помощью Spring.

HttpServletRequest — это интерфейс, который предоставляет метод getInputStream() для чтения тела. По умолчанию данные из этого InputStream можно прочитать только один раз .

2. Зависимости Maven

Первое, что нам понадобится, это соответствующие зависимости spring-webmvc и javax.servlet :

· 8 мин. чтения

1. Введение

Приложения Java часто используют JSON в качестве общего формата для отправки и получения данных. Более того, он используется как протокол сериализации для хранения данных. Благодаря меньшим размерам данных JSON наши приложения становятся дешевле и быстрее.

В этом руководстве мы рассмотрим различные способы уменьшения размера JSON в наших приложениях Java.

2. Модель предметной области и тестовые данные

Давайте создадим модель домена для клиента с некоторыми контактными данными:

· 4 мин. чтения

1. Обзор

Типичным вариантом использования при работе с JSON является выполнение преобразования из одной модели в другую. Например, нам может понадобиться разобрать сложный, плотно вложенный граф объектов в более простую модель для использования в другой области.

В этой быстрой статье мы рассмотрим, как отображать вложенные значения с помощью Jackson , чтобы сгладить сложную структуру данных. Мы будем десериализовать JSON тремя разными способами:

  • Использование @JsonProperty
  • Использование JsonNode
  • Использование пользовательского JsonDeserializer

2. Зависимость от Maven

· 3 мин. чтения

1 . Обзор

В этой статье мы рассмотрим API потоковой передачи Jackson. Он поддерживает как чтение, так и запись, и с его помощью мы можем писать высокопроизводительные и быстрые парсеры JSON.

С другой стороны, его немного сложно использовать — каждую деталь данных JSON необходимо явно обрабатывать в коде.

2. Зависимость от Maven

Во- первых, нам нужно добавить зависимость Maven к jackson-core :

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы покажем, как фильтровать выходные данные сериализации JSON в зависимости от роли пользователя, определенной в Spring Security.

2. Зачем нам фильтровать?

Давайте рассмотрим простой, но распространенный вариант использования, когда у нас есть веб-приложение, которое обслуживает пользователей с разными ролями. Например, пусть эти роли будут User и Admin .

Для начала давайте определим требование, чтобы администраторы имели полный доступ к внутреннему состоянию объектов, предоставляемых через общедоступный REST API. Наоборот, Пользователи должны видеть только предопределенный набор свойств объектов.

· 2 мин. чтения

1. Обзор

В этой быстрой статье мы рассмотрим более продвинутый вариант использования Джексона — работу с Картами , которые содержат нулевые значения или нулевые ключи .

2. Игнорировать нулевые значения на карте

У Джексона есть простой, но полезный способ глобального управления тем, что происходит с нулевыми значениями, когда карта сериализуется:

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);

· 5 мин. чтения

1. Обзор

В этой статье мы рассмотрим различные способы управления сериализацией/десериализацией поля Джексоном или нет.

2. Публичное поле

Самый простой способ убедиться, что поле сериализуемо и десериализуемо, — это сделать его общедоступным.

Давайте объявим простой класс с общедоступным, пакетно-приватным и приватным