javabean中有很多属性,但是实际上只需要一部分属性转为json字符串,
请问 如何控制只会将指定的属性转为json字符串??
黄舟2017-06-28 09:26:15
不知道是存储在哪里,如果需要序列化可使用transient关键字。
class User implements Serializable {
private static final long serialVersionUID = 8294180014912103005L;
private String username;
private transient String passwd;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
其中,passwd始终为null
欧阳克2017-06-28 09:26:15
1.使用JSON框架内置的方法,比如Jackson提供@JsonIgnore的注解。
2.仿照JsonIgnore,自定义个注解,在转换过程中,通过JAVA的反射和Annotated相关类,判断并处理到,这种方法自定义能力比较强,比如可以将所有null值的都不转换,或者将日期属性按照不同的format转换。
3.自定义一个中间类,只包含需要转换的属性,然后数据对象,向中间类对象赋值,最后转换中间类对象,这样不包含的属性,不会出现。