Rails 2.3.16升级打破了ActiveSupport :: JSON.decode

时间:2013-01-29 01:11:15

标签: ruby-on-rails security yaml json

当我尝试从2.3.15升级Rails到2.3.16时,ActiveSupport::JSON.decode(response.body)无法处理NaN。 我收到的错误如下:invalid character at "NaN,...

有谁知道如何修复它?

1 个答案:

答案 0 :(得分:1)

ActiveSupport::JSON.decode使用MultiJson,它会忽略任何传入的选项(至少在Rails 3中,不确定2.3)。这意味着您无法传递allow_nan通常接受的选项。

但是,如果您使用的是Ruby 1.9+,则可以使用内置的JSON解析器:

require 'json'
json_result = JSON.parse(response.body, allow_nan: true)