Изменение порядка тегов JSON при использовании @JsonProperty - PullRequest
0 голосов
/ 16 мая 2019

У меня есть один контроллер:

@RequestMapping(value="/getContact", method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_VALUE)
public Contact getContact ()  {

    Contact s1 = new Contact();
    s1.setContactName("Avijit");
    s1.setContactType("Primary");
    return s1;
}

Класс контакта:

public class Contact {

private String contactName; 
private String contactType;

public String getContactName() {
    return contactName;
}
public void setContactName(String contactNm) {
    this.contactName = contactNm;
}
public String getContactType() {
    return contactType;
}
public void setContactType(String contactType) {
    this.contactType = contactType;
}

}

Объект JSON, возвращаемый из контроллера в этом случае:

{
    "contactName": "Avijit",
    "contactType": "Primary"
}

Теперь, если я добавлю @JsonProperty в свой класс модели:

public class Contact {
    @JsonProperty(value="contactName")
    private String contactName; 
    private String contactType;

    public String getContactName() {
        return contactName;
    }
    public void setContactName(String contactNm) {
        this.contactName = contactNm;
    }
    public String getContactType() {
        return contactType;
    }
    public void setContactType(String contactType) {
        this.contactType = contactType;
    }

}

Объект JSON вернется из контроллера, когда я использую @JsonProperty в классе модели:

{
    "contactType": "Primary",
    "contactName": "Avijit"
}

Я спрашиваю: почему происходит это изменение, даже если оба этих тега имеют одно и то же имя?

ПРИМЕЧАНИЕ. Я уже прочитал эту ссылку, и я в значительной степени осведомлен о @JsonPropertyOrder Порядок объектов JSON, использующихObjectMapper Джексона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...