Джексон ObjectMapper: Можно ли сериализовать java.util.Set в массив JSON в порядке возрастания?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Джексон ObjectMapper: Можно ли сериализовать java.util.Set в массив JSON в порядке возрастания?

Сообщение Anonymous »

У меня есть Java java.util.Set сопоставимых типов, которые я хотел бы сериализовать в массив JSON в порядке возрастания сортировки.
Существует функция сопоставления объектов для сериализации карт, отсортированных по ключам карты, но о наборах Java ничего не сказано. Если я сохраню элементы в java.util.Set в своем POJO, будет ли Jackson ObjectMapper сериализовать их в массив JSON в любом порядке?
Если нет, я подумываю о написании собственного сериализатора для этого набора - есть ли лучший способ, который кто-нибудь может предложить?

В конечном итоге цель состоит в том, чтобы десериализовать массив уникальных целых чисел в какой-то контейнер в pojo «запроса». Затем обработайте запрос и передайте это поле ввода в соответствующее поле вывода (без изменений) в объекте «ответ».
Я хотел бы сохранить данные в POJO как java.util.Set, чтобы все пользователи были довольны (если вы попытаетесь сохранить их как подтип Set, тогда потребители интерфейса POJO могут быть расстроены тем, что они не могут просто получить Set, но им придется ожидайте HashSet или TreeSet).
Будет ли это работать?
  • Массив JSON [5,4,3,2,1] десериализуется в Set НО, я использую @JsonDeserialize(as=TreeSet.class) в методе установки. Таким образом, типом времени выполнения объекта теперь является TreeSet (даже несмотря на то, что он хранится в POJO как Set).
  • The Set передается через сервер и в конечном итоге заканчивается сохранением в POJO ответа (тип времени выполнения по-прежнему TreeSet, даже если тип поля POJO — Set).
  • Код: Выделить всё

    ObjectMapper
    сериализует TreeSet в массив JSON [1,2,3,4,5] (поскольку TreeSet сортируется естественным образом).
Меня интересует пункт 3 выше: будет ли ObjectMapper использовать тип времени выполнения поля POJO или объявленный тип?

Как могу ли я гарантировать, что мой Set будет преобразован в массив JSON в отсортированном порядке?

Подробнее здесь: https://stackoverflow.com/questions/471 ... -ascending
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»