2012-02-08 19 views
1
> ActiveSupport::JSON.decode(13.to_json) 
MultiJson::DecodeError: 743: unexpected token at '13' 
    from /usr/lib/ruby/gems/1.8/gems/json-1.5.4/lib/json/common.rb:148:in `parse' 
    from /usr/lib/ruby/gems/1.8/gems/json-1.5.4/lib/json/common.rb:148:in `parse' 
    from /usr/lib/ruby/gems/1.8/gems/multi_json-1.0.4/lib/multi_json/engines/json_common.rb:9:in `decode' 
    from /usr/lib/ruby/gems/1.8/gems/multi_json-1.0.4/lib/multi_json.rb:76:in `decode' 
    from /usr/lib/ruby/gems/1.8/gems/activesupport-3.2.1/lib/active_support/json/decoding.rb:12:in `decode' 

那麼爲什麼?Rails JSON解碼和to_json不想一起工作?

+0

您的代碼可能存在問題。請添加代碼導致問題。 – lucapette 2012-02-08 11:51:14

+0

整個代碼只有一個從rails控制檯啓動的命令(ActiveSupport :: JSON.decode(13.to_json))。 – Ximik 2012-02-08 11:56:54

+0

噢,我的...我已經閱讀了您的代碼,正確的關注對不起。 – lucapette 2012-02-08 12:11:36

回答

1

這是因爲JSON.decode需要比單個整數更復雜的結構。嘗試包裝它:

ActiveSupport::JSON.decode({:my_integer => 13}.to_json) 

在我的意見,我會稱這是一個錯誤的軌道。