Page 1 of 1

Jackson @JsonPropertyOrder wird ignoriert

Posted: 08 Jan 2025, 08:03
by Guest
Ich entwickle derzeit eine RESTful-App mit dem Spark-Framework und verwende Jackson für die Serialisierung. Und ich bin auf folgendes Problem gestoßen: @JsonPropertyOrder wird ignoriert.

Hier ist mein POJO:

Code: Select all

@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() {}
}
Ich generiere JSON mit dieser Methode:

Code: Select all

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;
}
Und am Ende erhalte ich Folgendes:

Code: Select all

{
"status": 0,
"result": {
"infoList": [
{
"infos": [...],
"id": 2,
"title": "...",
"company": {...},
"startDate": 1445238000000,
"endDate": 1445792400000
},
...
]
}
}
Was mache ich falsch? Oder stimmt etwas mit Jackson nicht? Kann mir jemand dabei helfen?

Außerdem habe ich es mit Jackson Version 2.6.3 und 2.3.5 versucht. Beides funktioniert auf die gleiche Weise.