3

これは動作します:

body = '{"name":"123"}'

json_string = ActiveSupport::JSON.decode body

しかし、これは失敗します

body = '{"name":"123//"}'

json_string = ActiveSupport::JSON.decode body

文字列の最後にスペースを追加すると、それも機能します

body = '{"name":"123// "}'

http://jsonlint.com/から3つのjson文字列すべてを確認しました

Rails 2.2.2を使用していますが、誰かがこれを手伝ってくれますか。

また、JSON.parseでJSONgemを使用してみました。

4

1 に答える 1

0

うーん、実に興味深い。/ を ascii 表記でエスケープするとうまくいくようです (少なくとも私のバージョンの Rails では 3.2.1 であるため、お使いのバージョンではうまくいかない可能性があります)。回避策として、お使いのバージョンで機能する場合、これで問題ないと思います。ActiveSupport::JSON.decode "{\"foo\":\"\57\57\"}"

于 2012-12-07T21:54:58.517 に答える