Ответ 1
Как и другие, порядок не имеет значения. Тем не менее, если вы предпочитаете определенный порядок, используйте аннотацию @JsonPropertyOrder
следующим образом:
@JsonPropertyOrder({ "x", "y", "x" })
public class EntityObj {
}
Я пишу некоторые службы 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" }]
Посмотрел на решение, но не нашел. Кто-нибудь еще столкнулся с этой проблемой?
Спасибо за помощь
Как и другие, порядок не имеет значения. Тем не менее, если вы предпочитаете определенный порядок, используйте аннотацию @JsonPropertyOrder
следующим образом:
@JsonPropertyOrder({ "x", "y", "x" })
public class EntityObj {
}
Я понял, что это не работает с именами переменных, которые начинаются с букв верхнего регистра. Например, переменная с именем "ID" не будет упорядочена.
Если вам нужен алфавитный порядок, и вы используете Spring Boot, вы можете добавить это в свой application.properties
:
spring.jackson.mapper.sort-properties-alphabetically=true