我正在尝试从字符串反序列化哈希:
names = '{foo:"bar"}'
@names_hash = Marshal.load(names)
但是我得到了一个TypeError:
TypeError: incompatible marshal file format (can't be read)
format version 4.8 required; 123.111 given
根据文档,Marshal.load应该接受一个String。为什么我收到错误?
答案 0 :(得分:1)
这是IRB会话的输出:
irb(main):005:0> a = {"foo" => "bar"}
=> {"foo"=>"bar"}
irb(main):006:0> Marshal.dump(a)
=> "\004\b{\006\"\bfoo\"\bbar"
你所做的事情对我来说更像是JSON,而不是Marshaling。