@JsonViews se utiliza para controlar valores que se serializarán o no.
Ejemplo: @JsonView
El siguiente ejemplo es para @JsonView -
import org.boon.json.JsonSerializer;
import org.boon.json.JsonSerializerFactory;
import org.boon.json.annotations.JsonViews;
public class BoonTester {
public static void main(String args[]) {
JsonSerializer serializerPublic = new JsonSerializerFactory()
.useAnnotations()
.setView( "public" )
.create();
JsonSerializer serializerInternal = new JsonSerializerFactory()
.useAnnotations()
.setView( "internal" )
.create();
Student student = new Student(1,"Mark", 20);
String jsonString = serializerPublic.serialize( student ).toString();
System.out.println(jsonString);
jsonString = serializerInternal.serialize( student ).toString();
System.out.println(jsonString);
}
}
class Student {
public int id;
public String name;
@JsonViews( ignoreWithViews = {"public"}, includeWithViews = {"internal"})
public int age;
Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
}
Salida
Obtendremos una salida similar a la siguiente:
{"id":1,"name":"Mark"}
{"id":1,"name":"Mark","age":20}