O que é a classe JSON View em Jackson e como ela funciona?

Não entendo o que é o @JsonView de Jackson (Views.MyClass.class) Eu sei que posso anotar os campos e métodos do POJO dessa maneirapara filtrar os não anotados de ser serializado com JSON. Mas o que é a classe Views.Myclass? É uma classe de modelo para a biblioteca Jackson?

E por que pode haver muitas classes dentro da classe Views? Por exemplo, assim:

 class Views {
            static class Public { }
            static class ExtendedPublic extends PublicView { }
            static class Internal extends ExtendedPublicView { }
  }

Por que é necessário e como funciona?

questionAnswers(1)

yourAnswerToTheQuestion