Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson如何在默认情况下序列化none?;_Java_Json_Spring_Jackson - Fatal编程技术网

Java Jackson如何在默认情况下序列化none?;

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

当我使用SpringMVC时,我想要得到json字符串,但遇到了一个问题

我有一个类用户:

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;
    ...
}