序列化是将对象转换为字节流,为什么将对象转换为Json字符串也叫序列化?

序列化是将对象转换为字节流,为什么将对象转换为Json字符串也叫序列化?json序列化和字节流序列化的关系是什么?TCP/IP网络传输只支持字节流,那…
关注者
96
被浏览
93,340

31 个回答

题主是不是对字节流有什么误解。json串不就是字节流么?

不过,我大概明白为什么你会产生这种误解,因为你对json的了解仅限于调用java库。而java库并没有让你直接访问json字节流,而是把它转化为java字符串传输给你。——由于你得到的是java字符串,所以就产生了「json不是字节流」的误解。

如果你使用其它相对底层的语言(比如cJSON)来解析,是应该可以清楚的知道json就是字节流的。

所以解释一下吧:json的标准格式是字节流。你获得的json如果是在java字符串中,它已经是从字节流转化为java字符串后的结果了,不是原始json字节流。而这个java字符串在作为json传输时,需要再转化为原始json字节流去传输。

这种误解其实是你手头的java解析库造成的,多了解一下json的定义可以消除这个误解。