繁体   English   中英

Java-序列化匿名对象

[英]Java - Serialize anonymous object

我想在Java中序列化一个匿名对象,但是由于序列化,我总是得到null,这就是我正在尝试的:

public class User{
    private String login;
    private String password;
    private String email;

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public void Serialize() throws ParseException, IOException {
        Serializable obj = new Serializable(){
            public final String login = getLogin();
            public final String email= getEmail();
        };
        DefaultHttpClient client = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(Home.url);
        StringEntity stringEntity = new StringEntity(new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss").create().toJson(obj));
        System.out.println(EntityUtils.toString(stringEntity));
        //Here I'm getting null as result
        //.......
    }
}

我正在尝试创建一个匿名对象来过滤我不希望将其发送到服务器端的字段。 在c#中,将匿名对象序列化为json对我来说效果很好,但是在java中,我不知道为什么它不起作用!

怪不是java.io.Serializable,而是您的Json库!

https://sites.google.com/site/gson/gson-user-guide#TOC-Finer-Points-with-Objects

与内部类, 匿名类和本地类中的外部类对应的字段将被忽略,并且不包含在序列化或反序列化中

顺便说一句。 您也不需要“ Serializables”,“ Objects”,但是请使用named而不是匿名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM