1

我有一个具有以下定义的 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)

puts response.to_json 给出:

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

有时也会给出:

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

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

行为是随机的。

更新:我发现了一个类似的问题。但答案是更新 gem。我无法更新我当前的 gem。 Rails:to_json 方法未按预期工作

4

1 回答 1

0

好吧,原来 json gem 有问题。我现在正在使用原始 to_json 的别名,这似乎工作正常。

于 2013-01-22T05:53:12.937 回答