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

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

json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别_第1张图片


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

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

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

json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别_第2张图片

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类型的字符串吗?

原因原来是:

json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别_第3张图片

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


json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别_第4张图片


你可能感兴趣的:(json序列化,反序列化;以及java.io.Serializable序列化;即json中说的序列化,和java.io.Serializable序列化,两者的区别)