Java Аннотация JsonProperty не работает при сортировке - PullRequest
0 голосов
/ 20 января 2020

У меня есть следующий POJO (внутри конструкторов и т. Д. c ..):

public  class GlobalData  implements Serializable {

//constructors getters and setters

    @org.codehaus.jackson.annotate.JsonProperty("size-guide")   
    private List<SizeGuide> sizeGuides;

}

С атрибутом sizeGuide, помеченным JsonProperty, поэтому, когда я выполняю маршалинг с помощью ObjectMapper, атрибут появится в JSON по имени size-guide вместо sizeGuide.

ОДНАКО, это не работает, когда я задаю значение ObjectMapper.write как метод String, атрибут не «меняет» его имя, он все равно отображается как sizeGuide.

Любая подсказка

Ответы [ 2 ]

1 голос
/ 20 января 2020

Возможно, вы также захотите аннотировать геттер для getSizeGuides, как указано выше - для меня аннотация переменных иногда не работает, так как кажется, что геттер получает приоритет при (не) маршалинге JSON. Некоторые пояснения и примеры здесь: http://www.javabyexamples.com/how-to-change-property-name-with-jackson/

1 голос
/ 20 января 2020

Вам нужно использовать

public  class GlobalData  implements Serializable {

//constructors getters and setters

    @com.fasterxml.jackson.annotation.JsonProperty("size-guide")   
    private List<SizeGuide> sizeGuides;

}
...