Ruby对象为JSON并返回

时间:2013-04-10 10:40:18

标签: ruby json serialization deserialization

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

1 个答案:

答案 0 :(得分:1)

从对象到JSON的转换是有损的。实际上,序列化过程不会保留类。

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

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

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