我正在使用Gson
来序列化class
名为User.class
的{{1}}扩展Externalizable
public class User implements Externalizable {
String username = "testname";
@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {}
@Override
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(username);
}
}
文件中的输出是
{
user: {}
}
而不是
{
user: "testname"
}
答案 0 :(得分:1)
使用
Gson gson = new GsonBuilder().create();
gson.toJson(new User(), System.out);
生成以下输出:
{"username":"testname"}
使用
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
为什么要使用用户:“testname”代替用户名:“testname”?
答案 1 :(得分:0)
您需要将用户名设置为用户对象。确保它已附在物体上。
添加构造函数并更改类,如下所示:
private String username;
public User(){
this.username = "testuser";
}
答案 2 :(得分:0)
添加如下构造函数:
public User(String username) {
this.username = username;
}
创建名为getUsername()
的方法:
public String getUsername() {
return username;
}
这是你的代码:
@Override
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(username);
}
有关详细信息,请查看此example