2015-05-15 3 views

ответ

1

Для этой цели вы можете использовать Mixin.

  • Первый Создать абстрактный класс с JsonIgnore аннотацию:

    abstract class MixIn{ 
        @JsonIgnore 
        abstract String getDefname(); } 
    
  • Затем используйте его, как показано ниже. (Убедитесь, что ваше имя добытчик поля defName в getDefName() в классе B или изменить его в подмешать классе, как ваша.)

    ObjectMapper objectMapper = new ObjectMapper(); 
    objectMapper.addMixIn(B.class, MixIn.class); 
    objectMapper.writeValue(System.out, new A()); 
    

Это печатает:

{"b":{"id":1,"name":"Sercan"}} 
+0

Эй я ограничен для изменения класса B –

+0

проверить код, он позволяет игнорировать proeprty без изменения класса .... –

+0

Может быть, я не объясню проблему должным образом, объект mapper уже написан. и класс расширяет некоторый другой класс. –

Смежные вопросы