From: "mame (Yusuke Endoh)" Date: 2012-11-08T23:26:24+09:00 Subject: [ruby-core:49102] [ruby-trunk - Bug #7306][Assigned] BigDecimal does not properly marshal to JSON and back Issue #7306 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Assignee set to naruse (Yui NARUSE) I'm not sure what you expect. Are you expecting that any object supports dumping and loading JSON notation? I don't think that it is virtually impossible. Or, are you saying that JSON should not define Object#to_json? It makes sense to me, but impossible because of compatibility. Naruse-san, what do you think? -- Yusuke Endoh ---------------------------------------- Bug #7306: BigDecimal does not properly marshal to JSON and back https://bugs.ruby-lang.org/issues/7306#change-32634 Author: vbatts (Vincent Batts) Status: Assigned Priority: Normal Assignee: naruse (Yui NARUSE) Category: ext Target version: ruby -v: ruby 2.0.0dev (2012-11-06 trunk 37483) [x86_64-linux] $ ruby -v -S irb -r bigdecimal -r json ruby 2.0.0dev (2012-11-06 trunk 37483) [x86_64-linux] /opt/ruby/2.0.0-git4e73323a6/lib/ruby/2.0.0/irb/ext/save-history.rb:29: warning: method redefined; discarding old save_history= /opt/ruby/2.0.0-git4e73323a6/lib/ruby/2.0.0/irb/extend-command.rb:211: warning: previous definition of save_history= was here irb(main):001:0> inf = BigDecimal.new('Infinity') => # irb(main):002:0> inf2 = JSON.load(inf.to_json) => "Infinity" irb(main):003:0> inf3 = JSON.parse(inf.to_json) JSON::ParserError: 757: unexpected token at '"Infinity"' from /opt/ruby/2.0.0-git4e73323a6/lib/ruby/2.0.0/json/common.rb:149:in `parse' from /opt/ruby/2.0.0-git4e73323a6/lib/ruby/2.0.0/json/common.rb:149:in `parse' from (irb):3 from /opt/ruby/2.0.0-git4e73323a6/bin/irb:12:in `
' irb(main):004:0> JSON.dump inf => "\"Infinity\"" irb(main):005:0> JSON.load(JSON.dump(inf)) => "Infinity" -- http://bugs.ruby-lang.org/