object
在本文中不是“目标”或“意图”。
引用了序列化,我有兴趣更好地理解object
一词的使用:
串行化是将对象转换为字节流以存储对象或将其传输到内存,数据库或文件的过程。其主要目的是保存对象的状态,以便能够在需要时重新创建它。反向过程称为反序列化。
...
此图显示了序列化的整个过程
...
通过序列化,开发人员可以执行一些操作,例如通过Web服务将对象发送到远程应用程序,将对象从一个域传递到另一个域,将对象作为XML字符串通过防火墙传递,或维护安全性或跨应用程序的用户特定信息
(在上述情况下)object
是否包含(但不一定限于)人们喜欢建模的任何现实现象?例如:
作为一个具体的例子,这个叙述的对象是百老汇的赞助人吗?还是它有收入?
一个虚构的百老汇演出每个星期六有3场演出。门票是 对于特定节目和列举的席位有效。的过程 编码
showtime
并依次枚举seat number
定义 唯一票证。车票用条形码编码,包括 用来衡量出勤率的数据。
假设我正在和我的好友通电话,我正在告诉他我的新小狗。
这是我的问题:这只小狗是一只活着的呼吸哺乳动物。我该如何通过电话线传送一只小狗?我无法将小狗实际放入电话听筒中。
因此,我将不得不通过电话传达小狗的表示。换句话说,我然后序列化了我的狗Rex,然后通过电话线向他发送了Rex的序列化版本:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
这是一个完美的代表-我的狗的序列化。
串行化基本上意味着将我的狗Rex转换成其他东西-JSON对象-然后可以在电话线上以一系列1和0进行传输。然后,我在纽约市的好友可以将这些1和0转换回一个JSON对象-这样他就可以很好地代表我的狗Rex。简单!
答案 0 :(得分:0)
表示任何种类的复合数据,例如集合,结构,联合,数组或(用object-oriented语言表示)某个对象(例如,某些instance中的class,如果您的语言包含它们;但是您可以基于prototype的编程语言,例如JavaScript)。
还要注意endianness。它使二进制数据的可移植性低于文本数据。
查看多个serialization库以获取更多信息。从简单的东西开始,例如RPC XDR,大多数JSON库等。另请参见s11n