0

我们正在为我们的网站迁移,delayed_jobresque看到的一个警告是,虽然delayed_job使用 yaml 进行序列化,但resque使用 json,因此哈希键等符号需要作为字符串访问,因为符号不能存储在 json 中(例如 source)。

我的问题是,如果这是真的,是否有理由选择 json 而不是 yaml?或者更确切地说,json 为这种情况提供了什么优势?

4

1 回答 1

0

使用 redis 哈希有一些 JSON 支持,但我从未使用过它,我怀疑它在这种情况下是否有用。

Resque 可能使用 JSON 而不是 YAML,因为它更广泛。我还找到了关于这个问题的评论。

@defunkt

YAML 并没有更好地保留 Ruby 对象——对于复杂的对象,它可以序列化一个以后无法反序列化的对象。这是无法接受的。

如果你想要符号键,我相信 YAJL 有一个我们可以用来保留键的选项。如果您有 ActiveSupport,您也可以在对象上轻松调用 symbolize_keys。

https://github.com/resque/resque/issues/26

于 2013-10-21T09:12:50.540 回答