2012-02-08 8 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

+0

コード全体は、rails consoleから開始された1つのコマンド(ActiveSupport :: JSON.decode(13.to_json))です。 – Ximik

+0

ああ私...あなたのコードを正しい注意を払って読んだことは残念です。 – lucapette

答えて

1

これは、JSON.decodeが単一の整数よりも複雑な構造を想定しているためです。それをラップしてみてください:

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

私の意見では、私はこれをレールのバグと呼びます。

関連する問題