我有一个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
答案 0 :(得分:0)
好吧,事实证明,json gem存在问题。我现在使用原始to_json的别名,这似乎工作正常。