Java游戏!toJson忽略某些方法
是否可以使用toJsonobject序列化对象并让toJson解析器忽略某些方法 我们在用户类getSocial中有一个方法,它与Facebook集成有关,导致toJson解析失败。如果可能,我们希望它在序列化时忽略该方法Java游戏!toJson忽略某些方法,json,playframework-2.0,Json,Playframework 2.0,是否可以使用toJsonobject序列化对象并让toJson解析器忽略某些方法 我们在用户类getSocial中有一个方法,它与Facebook集成有关,导致toJson解析失败。如果可能,我们希望它在序列化时忽略该方法 可以这样做吗?您只需迭代对象并将其重写为仅具有指定值的映射或列表 请注意,如果您使用Ebean选择对象,它将获取整个对象以及数据,这些数据不应作为密码或其他凭据获取。使用: 示例代码 import com.alibaba.fastjson.serializer.JSONSer
可以这样做吗?您只需迭代对象并将其重写为仅具有指定值的映射或列表 请注意,如果您使用Ebean选择对象,它将获取整个对象以及数据,这些数据不应作为密码或其他凭据获取。使用: 示例代码
import com.alibaba.fastjson.serializer.JSONSerializer;
import com.alibaba.fastjson.serializer.PropertyFilter;
import com.alibaba.fastjson.serializer.SerializeWriter;
PropertyFilter filter = new PropertyFilter() {
public boolean apply(Object source, String name, Object value) {
return false;
}
};
SerializeWriter out = new SerializeWriter();
JSONSerializer serializer = new JSONSerializer(out);
serializer.getPropertyFilters().add(filter);
A a = new A();
serializer.write(a);
String text = out.toString();
Assert.assertEquals("{}", text);
性能过滤器
PropertyFilter filter = new PropertyFilter() {
public boolean apply(Object source, String name, Object value) {
if("name".equals(name)) {
return true;
}
return false;
}
};
SerializeWriter out = new SerializeWriter();
JSONSerializer serializer = new JSONSerializer(out);
serializer.getPropertyFilters().add(filter);
A a = new A();
a.setName("chennp2008");
serializer.write(a);
String text = out.toString();
Assert.assertEquals("{\"name\":\"chennp2008\"}", text);
ValueObject:
public static class A {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
谢谢,不过我最后还是用了@JsonIgnore。