我有一个具有以下定义的 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 方法未按预期工作