Переименовать поля JSON, используемые MappingJacksonJsonView весной



Я использую MappingJacksonJsonView для сериализации в класс JSON, однако я хотел бы иметь возможность переименовать некоторые поля из имени по умолчанию на основе имени геттера.



Это потому, что я должен вывести имена полей, такие как "delete_url" и "delete_type" для загрузки файла jQuery. Я использую аннотацию @Jsonserialize, чтобы вручную выбрать поля для сериализации.



@JsonAutoDetect(getterVisibility = Visibility.NONE)
public interface Picture {

@JsonSerialize
String getName();

@JsonSerialize
String getDelete_url();

...


Например, я вынужден вызывать метод getDelete_url(), в то время как я хотел бы вызвать его getDeleteUrl(), но все равно вывести ключ "delete_url" при сериализации в JSON.

736   2  

2 ответов:

Вы должны быть в состоянии квалифицироваться с помощью @JsonProperty.

@JsonAutoDetect(getterVisibility = Visibility.NONE)
public interface Picture {

  @JsonSerialize
  @JsonProperty("name")
  String getName();

  @JsonSerialize
  @JsonProperty("delete_url")
  String getDeleteUrl();

  //...

Вы пробовали использовать аннотацию @JsonProperty?

"определяет имя логического свойства, то есть имя поля объекта Json, которое будет использоваться для свойства: если пустая строка (что является значением по умолчанию), будет использоваться имя поля, которое аннотируется."

Comments

    Ничего не найдено.