【发布时间】:2013-04-10 10:40:17
【问题描述】:
我想将 Ruby 对象转换为 JSON,并将 JSON 转换回 Ruby 对象。在我看到的所有代码中,JSON 都被转换回 Hash(而不是自定义 Ruby 对象)。有人可以告诉我这是如何实现的吗?
【问题讨论】:
-
提供有关您正在寻找的内容的更多信息。您正在使用什么自定义类? json是如何创建的?你的 json 长什么样?等等。
-
AFAICS,您有兴趣将 JSON 转换为您自己的对象。为什么不使用 your 对象的默认构造函数来获取哈希作为参数?
-
任何处理此类 JSON 的中间系统至少需要尊重格式(通过保留它),并且可能需要完全建模(如果需要,例如生成一个新对象以供以后存储)。如果 JSON 仅由相同的 Ruby 代码发出和使用,那当然很容易——但如果是这样,为什么不使用现有的持久性方案,例如 Marshal 或 ActiveRecord? (事实上,我不会惊讶地发现 ActiveRecord 实现包装了 JSON 序列化以进行存储)。
-
事实上,如果您使用的是 Rails 和/或 ActiveRecord,请参阅:simonecarletti.com/blog/2010/04/…
标签: ruby json serialization deserialization