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

本文介绍了Java中对象序列化的两种方式:使用java.io.Serializable接口进行序列化和利用JSON格式进行序列化。通过示例代码展示了如何实现Serializable接口来保存和读取对象状态,并解释了序列化结果并非JSON字符串的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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对象,固化成文件了,即写入文件了。就可以存储和网络传输了,你想看内容,你再反序列化即可。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值