Джексон @JsonPropertyOrder игнорируетсяJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Джексон @JsonPropertyOrder игнорируется

Сообщение Anonymous »

В настоящее время я разрабатываю приложение RESTful с платформой Spark и использую Jackson для сериализации. И я столкнулся с такой проблемой: @JsonPropertyOrder игнорируется.

Вот мой POJO:

Код: Выделить всё

@Data
@JsonPropertyOrder({"id", "company", "title", "infos", "startDate", "endDate"})
public class Info {
@JsonProperty("id")
long id;

@JsonProperty("company")
Company company;

@JsonProperty("title")
String title;

@JsonProperty("infos")
List
 infos;

@JsonProperty("startDate")
Date startDate;

@JsonProperty("endDate")
Date endDate;

public Info() {}
}
Я генерирую JSON с помощью этого метода:

Код: Выделить всё

public static String generateJSONResponse(Object response) {
if (responseObjectMapper == null) {
responseObjectMapper = new ObjectMapper(new JsonFactory());
responseObjectMapper.enable(SerializationFeature.INDENT_OUTPUT);
}

try {
return responseObjectMapper.writeValueAsString(response);
} catch (IOException ioe) {
// Must not occur
}

// Something really unexpected happened, so we return unknown response;
return ErrorMessages.ERROR_RESPONSE_UNKNOWN;
}
И в итоге получаю вот это:

Код: Выделить всё

{
"status": 0,
"result": {
"infoList": [
{
"infos": [...],
"id": 2,
"title": "...",
"company": {...},
"startDate": 1445238000000,
"endDate": 1445792400000
},
...
]
}
}
Что я делаю не так? Или что-то не так с Джексоном? Может ли кто-нибудь мне с этим помочь?

Кроме того, я попробовал это, используя версии Jackson 2.6.3 и 2.3.5. Оба работают одинаково.
Ответить

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

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

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

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

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