Дважды меняя fieldName of Json
Можно ли изменить имя поля Json два раза в Spring rest api. Я знаю, что это не очень важно, но мне нужно что-то подобное.
Например, JSON, который я получаю от удаленного сервиса:
{
total_count : 1;
}
Мой Модельный класс похож на
public class Model
{
@JsonProperty("total_count")
int count;
}
И из моего сервиса отдыха я хочу вернуть json класса Model, но с полем "count" вместо "total_count"
{
count: 1
}
Можно ли сделать что-то подобное?
2 ответа
Попробуйте что-то вроде:
public class Model {
int count;
@JsonGetter("count")
public int getCount() {
return count;
}
@JsonSetter("total_count")
public void setCount(int count) {
this.count = count;
}
}
Если вы не хотите нарушать классы pojo, вы можете воспользоваться приведенным ниже решением, чтобы отформатировать решение json и отправить ответ.
На JSONObject делайте ниже.
obj.put("count", obj.get("total_count"));
obj.remove("total_count");