to_json返回空对象

时间:2013-01-19 13:17:27

标签: ruby-on-rails json

我有一个ruby类,其定义如下:

class MyResponse
        attr_writer :status, :message

        def initialize(status,message) 
                @status = status
                @message = message
        end
end

当我尝试在MyResponse类型的对象上执行to_json时,我正确地获取了json转换后的字符串。

问题是,在传递给MyResponse的同一组参数的情况下,我有时会得到空字符串。

例如:

response = MyRespons.new("Abcd", 0)

put response.to_json给出:

"{\"status\": \"Abcd\", \"message\": 0}"

同样有时会给出:

"\"#<MyResponse:0xb687d884>\""

我的问题是如何捕捉json错误?因为,在第二种情况下,传递给MyResponse类的参数绝对没有区别。

行为是随机的。

更新:我发现了一个类似的问题。但答案是更新宝石。我无法更新我目前的宝石。 Rails: to_json method not working as expected

1 个答案:

答案 0 :(得分:0)

好吧,事实证明,json gem存在问题。我现在使用原始to_json的别名,这似乎工作正常。