【问题标题】:What exactly is an "object" of serialization?序列化的“对象”究竟是什么?
【发布时间】:2019-02-02 13:59:13
【问题描述】:

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。简单!

【问题讨论】:

    标签: serialization


    【解决方案1】:

    表示任何类型的复合数据,例如聚合、结构、联合、数组或(在 object-oriented 语言中)某个对象(例如,如果您的语言有 instanceinstance,如果您的语言有它们;但您可以使用基于 prototype 的编程语言,例如 JavaScript)。

    还要注意endianness。它使二进制数据的可移植性不如文本数据。

    查看多个serialization 库以获取更多信息。从简单的事情开始,例如 RPC XDR、大多数 JSON 库等。另请参阅 s11n

    【讨论】:

      猜你喜欢
      • 2021-10-16
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2011-05-18
      相关资源
      最近更新 更多