What is the JSON View class in Jackson and how does it work?
<p>I don't understand what is Jackson's @JsonView(<strong>Views.MyClass.class</strong>).
I know that I can annotate POJO's fields and methods in this way <strong>to filter non-annotated ones</strong> from being serialized with JSON. But what is the Views.Myclass class? Is it a template class for Jackson library?</p>

<p>And why can there be many classes inside the Views class? For example like this:</p>

<pre><code> class Views {
            static class Public { }
            static class ExtendedPublic extends PublicView { }
            static class Internal extends ExtendedPublicView { }
  }
</code></pre>

<p>Why is it needed and how does it work?</p>