Почему Java усекает предыдущее в JSON ответах? - PullRequest
1 голос
/ 11 февраля 2020

У меня есть API пружинного отдыха, который возвращает ответ JSON из класса ответов, показанного ниже:

public class myResponse {

private String anyString;
private boolean isBoolean;

//getters and setters
}

Я ожидаю, что ответ JSON будет:

{
"anyString" : "foo",
"isBoolean" : true
}

Тем не менее, всякий раз, когда я проверяю браузер на предмет полученного ответа, я получаю:

{
"anyString" : "foo",
"boolean" : true
}

Почему предшествующее "is" усекается?

1 Ответ

2 голосов
/ 11 февраля 2020

Если вы используете Spring Boot, то где-то внутри он использует Джексона для преобразования вашего объекта в json строку.

вы можете погрузиться в логи c класса ObjectMapper, но идея заключается в том, что оно соответствует соглашению JavaBeans для доступа к полям и получения результирующего именования.

Итак, для логического свойства с именем 'isSth' (через метод object.isSth ()) фактически представлено поле 'sth' для json. Если вы хотите строго задать имя поля в json, используйте аннотацию @JsonProperty

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