json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别

来源:互联网 发布:淘宝直通车效果好吗 编辑:程序博客网 时间:2024/05/21 19:44

json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别。



java.io.Serializable里说的序列化,是一个意思。

java.io.Serializable是将java对象序列化的一种实现方式。

http://www.cnblogs.com/yexiubiao/p/5014015.html


java.io.Serializable例子:

package test2;


import java.io.Serializable;


import com.alibaba.fastjson.JSON;


public class Person implements Serializable {
private static final long serialVersionUID = 1L;


private int id;
private String name;


public Person() {
super();
}


public Person(int id, String name) {
super();
this.id = id;
this.name = name;
}


public int getId() {
return id;
}


public void setId(int id) {
this.id = id;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


@Override
public String toString() { // 这里偷懒用了Fastjson
return JSON.toJSONString(this);
}
}

package test2;


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;


public class Test2 {
public static void main(String[] args) throws IOException {
Person obj = new Person(123, "lisi");
File file = new File("f:/object.txt");
ObjectOutputStream oos = null;
OutputStream os = new FileOutputStream(file);
oos = new ObjectOutputStream(os);
oos.writeObject(obj);
}
}

但是去f盘打开object.txt,发现是乱码。不应该是json类型的字符串吗?

原因原来是:


反正我将对象序列化完毕,即将java对象,固化成文件了,即写入文件了。就可以存储和网络传输了,你想看内容,你再反序列化即可。




阅读全文
0 0
原创粉丝点击