json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别
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对象,固化成文件了,即写入文件了。就可以存储和网络传输了,你想看内容,你再反序列化即可。