Порядок свойств по умолчанию Jackson ObjectMapper - PullRequest
0 голосов
/ 07 мая 2020

Кто-нибудь знает, существует ли определенный c порядок свойств по умолчанию при сериализации объекта в JSON с помощью ObjectMapper (ie при отсутствии какой-либо конкретной c конфигурации порядка сортировки или @JsonPropertyOrder аннотаций?

Я еще ничего не нашел в документации. Я могу проверить исходный код, но подумал, что сначала быстро проверю здесь - я предполагаю, что он основан на любом порядке, исходящем из рефлексии или самоанализа, и это сообщение Я обнаружил, что go предполагает, что нет никаких гарантий при заказе (опять же, я могу проверить источник, но было бы здорово, если бы кто-то случайно узнал).

1 Ответ

1 голос
/ 08 мая 2020

Этот пост все еще актуален. Порядок по умолчанию зависит от данной реализации (также известной как версия). Вам необходимо проверить реализацию:

  • В пакете com.fasterxml.jackson.databind.introspect, например: POJOPropertiesCollector class.
  • В com.fasterxml.jackson.databind.ser пакете, например: BeanSerializer, BeanSerializerFactory классы .
  • Используемые аннотации, например: JsonIgnore.

Также это зависит от:

  • Включенных функций, например: REQUIRE_SETTERS_FOR_GETTERS
  • Включенные модификаторы, например: com.fasterxml.jackson.databind.ser.BeanSerializerModifier класс.

С с другой стороны :

Объект является неупорядоченным набор пар имя / значение.

И не стоит на него полагаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...