2014-09-24 95 views
2

我有這個YAML字符串:YAML.load引發異常:引發RangeError:BIGNUM太大而轉換成'長」

--- 
lease: 2014-09-26 05:20:39.616606000 Z 
createtime: 2014-09-20 05:20:39.616606000 Z 
leased_at: 2014-09-23 00:22:37.052173269 +08:00 

我的紅寶石版本是很老,但我不能升級,我的版本是:

ruby 1.9.1p376 (2009-12-07 revision 26041) [i686-linux] 

當我嘗試使用YAML.load解析上面的字符串:

YAML.load(str) # where str is above string 

我得到了以下錯誤:

irb(main):028:0> YAML.load(str) 
RangeError: bignum too big to convert into `long' 
    from /build/toolchain/lin32/ruby-1.9.1-p376/lib/ruby/1.9.1/yaml.rb:133:in `utc' 
    from /build/toolchain/lin32/ruby-1.9.1-p376/lib/ruby/1.9.1/yaml.rb:133:in `node_import' 
    from /build/toolchain/lin32/ruby-1.9.1-p376/lib/ruby/1.9.1/yaml.rb:133:in `load' 
    from /build/toolchain/lin32/ruby-1.9.1-p376/lib/ruby/1.9.1/yaml.rb:133:in `load' 
    from (irb):28 

我認爲問題是那些時間包含太長的毫秒部分。鑑於我無法升級我的紅寶石,我怎樣才能成功解析YAML字符串?

回答