Поля JSON неупорядочены

Я пишу некоторые службы RESTful, используя spring MVC. Я использую jsckson mapper для преобразования It. Все работает отлично, за исключением того, что json, который он создает, имеет поля полностью неупорядоченные.

например. Если мой объект объекта выглядит следующим образом:

public class EntityObj
{
   private String x;
   private String y;
   private String z;
}

Если теперь у меня есть список EntityObjs, и я возвращаю его обратно с контроллера, у json есть порядок, смешанный для полей, например: [{y: "ABC", z: "XYZ", x: "DEF" }, {y: "ABC", z: "XYZ", x: "DEF" }]

Посмотрел на решение, но не нашел. Кто-нибудь еще столкнулся с этой проблемой?

Спасибо за помощь

Ответ 1

Как и другие, порядок не имеет значения. Тем не менее, если вы предпочитаете определенный порядок, используйте аннотацию @JsonPropertyOrder следующим образом:

@JsonPropertyOrder({ "x", "y", "x" })
public class EntityObj {
}

Ответ 2

Я понял, что это не работает с именами переменных, которые начинаются с букв верхнего регистра. Например, переменная с именем "ID" не будет упорядочена.

Ответ 3

Если вам нужен алфавитный порядок, и вы используете Spring Boot, вы можете добавить это в свой application.properties:

spring.jackson.mapper.sort-properties-alphabetically=true