我使用Gson来序列化一个名为User.class的class,它扩展了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"
}发布于 2016-01-29 23:54:24
使用
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>你为什么要扩展user:"testname“而不是username:"testname"?
发布于 2016-01-29 23:32:12
您需要将用户名设置为User对象。确保它被附加到对象上。
添加构造函数并更改类,如下所示:
private String username;
public User(){
this.username = "testuser";
}发布于 2016-01-29 23:53:14
添加如下构造函数:
public User(String username) {
this.username = username;
}创建一个名为getUsername()的方法
public String getUsername() {
return username;
}这是你的代码:
@Override
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject(username);
}要获得更多信息,请看一下这个示例
https://stackoverflow.com/questions/35095818
复制相似问题