我正在尝试将对象转换为 JSON,然后再次解析它。问题是,当我解析 JSON 字符串时,我留下了一个 Hash 而不是我的原始对象。我在json.rubyforge.com找到了这个简单的示例并尝试了它:
require 'json'
class Range
def to_json(*a)
{
'json_class' => self.class.name,
'data' => [ first, last, exclude_end? ]
}.to_json(*a)
end
def self.json_create(o)
new(*o['data'])
end
end
puts JSON.parse((1..10).to_json) == (1..10)
它也失败了,返回false
. 进一步看,似乎没有json_create
被调用。
在这一点上,我想我必须遗漏一些非常简单的东西,或者我在某个地方遇到了错误。我正在使用 Ruby 1.9.3。有人有想法么?