2013-01-19 425 views
1

我有如下定義Ruby類:to_json將返回空對象

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) 

提出response.to_json給出:

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

同樣有時會:

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

我的問題是我如何趕上JSON錯誤?因爲在第二種情況下,傳遞給MyResponse類的參數完全沒有區別。

該行爲是隨機的。

更新:我發現了一個類似的問題。但答案是更新寶石。我無法更新當前的寶石。 Rails: to_json method not working as expected

回答

0

好的,事實證明,json寶石有​​問題。我現在正在使用原始to_json的別名,這似乎工作正常。