Дважды меняя 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");
Другие вопросы по тегам