如何从JSON.decode返回DateTime

时间:2013-08-06 13:50:56

标签: ruby-on-rails ruby serialization

JSON.decode(或者我不知道的任何选项)是否有任何替代方法可以解析JSON,并将日期/时间字符串转换为DateTime对象?

ActiveSupport::JSON.decode({date_time: DateTime.now()}.to_json)

必须

h["dt1"] = DateTime.strptime(h["dt1"])
h["dt2"] = DateTime.strptime(h["dt2"])

对于每个DateTime字段都非常烦人。

还是有没有其他方法可以将ruby对象序列化为一个字符串来存储在redis中,然后将原始对象及其成员作为原始对象返回?

Masrhal.dump和Marshal.load会首选吗?不确定为什么redis-rb文档建议使用JSON。

1 个答案:

答案 0 :(得分:0)

不幸的是,JSON规范不包含日期/时间数据类型。

您可以使用Marshal,但这会限制您只使用ruby来写入/读取redis。也许更好的选择是YAML,它具有日期/时间类型。