Параметры order with и @XmlType (propOrder) и Resteasy Джексон - PullRequest
1 голос
/ 18 августа 2011

Я создаю JSON с помощью resteasy.Все работает нормально, но ... я не могу упорядочить параметры моего сгенерированного json:

В моем сериализованном классе у меня есть следующие аннотации:

@XmlRootElement
@XmlType(propOrder={"foo1", "foo2", "foo3"})

в моем сгенерированном json,я получаю:

{"foo2":"bar2","foo1":"bar1","foo3":""}

Существует следующая зависимость в моем pom.xml

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson-provider</artifactId>
        <version>2.2.0.GA</version>
    </dependency>

Любая идея?

Ответы [ 2 ]

2 голосов
/ 18 августа 2011

Простой ответ заключается в том, что «это не имеет значения» - упорядочение свойств в JSON Object не имеет значения, поэтому библиотеки и фреймворки могут свободно выводить их в любом порядке.

Но более сложным ответом будет попытка использовать собственную аннотацию @ JsonPropertyOrder Джексона, которая должна работать. Если вы абсолютно не обязаны использовать аннотации JAXB, это может решить вашу проблему.

Несмотря на это, эта аннотация JAXB должна поддерживаться Джексоном, когда включен режим аннотации JAXB. Поэтому, если вам нужно использовать аннотации JAXB, вам нужно попытаться выяснить, почему поддержка не включена. Он может включаться или не включаться с помощью RESTeasy, поскольку сам Джексон не использует их по умолчанию (то есть инфраструктура должна явно включать это).

0 голосов
/ 31 июля 2014

Это исправлено в Джексоне 2.3.2.Обновитесь, и ваши проблемы исчезнут.

...