1

次の定義を持つルビークラスがあります。

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 エラーをキャッチするにはどうすればよいですか? 2 番目のケースでは、MyResponse クラスに渡されるパラメーターにまったく違いがないためです。

挙動はランダムです。

更新: 同様の質問が見つかりました。しかし、答えは宝石を更新することです。現在の宝石を更新できません。 Rails: to_json メソッドが期待どおりに機能しない

4

1 に答える 1

0

わかりました、json gem に問題があることがわかりました。私は今、正常に動作しているように見える元の to_json へのエイリアスを使用しています。

于 2013-01-22T05:53:12.937 に答える