我想将Ruby对象转换为JSON,并将JSON转换回Ruby对象。使用我看到的所有代码,JSON将转换回Hash(而不是自定义Ruby对象)。有人能告诉我这是如何实现的吗?
答案 0 :(得分:1)
从对象到JSON的转换是有损的。实际上,序列化过程不会保留类。
恢复它的唯一方法是将类名作为属性传递给序列化的JSON,并指示反序列化例程实例化该类的实例。
否则,如果您事先知道该类,则只需添加该类的功能即可从Hash初始化新对象。
另一种方法是使用YAML,其中序列化输出也存储原始类的名称。