2

我想将 Ruby 对象转换为 JSON,并将 JSON 转换回 Ruby 对象。在我看到的所有代码中,JSON 都被转换回 Hash(而不是自定义 Ruby 对象)。有人可以告诉我这是如何实现的吗?

4

1 回答 1

1

从对象到 JSON 的转换是有损的。事实上,序列化过程并没有保留类。

恢复它的唯一方法是将类名作为序列化 JSON 中的属性传递,并指示反序列化例程实例化该类的实例。

否则,如果您事先知道该类,您只需向该类添加从 Hash 初始化新对象的能力。

另一种选择是使用 YAML,其中序列化输出还存储原始类的名称。

于 2013-04-10T10:55:40.687 回答