Java Jackson如何在默认情况下序列化none?;
当我使用SpringMVC时,我想要得到json字符串,但遇到了一个问题 我有一个类用户:Java Jackson如何在默认情况下序列化none?;,java,json,spring,jackson,Java,Json,Spring,Jackson,当我使用SpringMVC时,我想要得到json字符串,但遇到了一个问题 我有一个类用户: public class User { private String username; private String password; private boolean accountNonExpired = true; private boolean accountNonLocked = true; private boo
public class User {
private String username;
private String password;
private boolean accountNonExpired = true;
private boolean accountNonLocked = true;
private boolean credentialsNonExpired = true;
private boolean enabled = true;
private DateTime registeTime;
private String ip;
private DateTime loginTime;
private DateTime logoutTime;
private String loginIp;
private DateTime lastLogoutTime;
private int passwordExpiredDays = -1;
private DateTime passwordChangeTime;
private boolean loginAtSameTime = false;
private int loginAttempt = 0;
private int status = 0;
private String problem;
private String solution;
}
我想要得到json,比如:
{"username":"a","ip":"127.0.0.1"}
现在,我使用:
@JsonIgnoreProperties(value = {"password","accountNonExpired",
"accountNonLocked","credentialsNonExpired", "enabled", "registeTime",
"loginTime", "logoutTime", "passwordExpiredDays", "passwordChangeTime",
"loginAtSameTime", "loginAttempt", "status", "problem", "solution"})
public class User {
...
}
但是!!!这很复杂。我能找到一个解决方法吗?例如:
@JsonInclude("Annotation")
public class User {
@JsonInclude
private String username;
...
@JsonInclude
private String ip;
...
}
或
我认为您可以在字段级别使用
@JsonIgnore
注释,以避免在序列化过程中使用它。我相信您所需要做的就是用@JsonProperty
标记您想要的字段。例如:
public class User {
@JsonProperty
private String username;
...
@JsonProperty
private String ip;
...
}
public class User {
@JsonProperty
private String username;
...
@JsonProperty
private String ip;
...
}