【Ruby】RubyでJSONをパースした時のエラー
こんにちは、しきゆらです
前回の記事でも書きましたが、最近はJavaScriptをよく書いています
その中で、サーバへデータを送信する時はオブジェクトをJSONとして送信するのが便利だということで
JSON文字列をJavaScriptで作って、サーバへ送っています
そして、サーバ側はRubyで書いているのですが
JSON文字列をRubyのオブジェクトに変換するためにはjsonというgemを使います
そこで注意することがあったのでメモしておきます
状態
HTMLファイルの中にあるフォームから、入力された文字列をJSON形式でサーバへ送信し
サーバ側ではJSON文字列をRubyのオブジェクトとして読み込みあれこれします
サーバへ送る文字列は、textareaに入力された文字列を送信します
input type="text"の場合では、特にエラー等は起きなかったので
同様にtextareaないの文字列をJSON形式でサーバへ送り、Rubyオブジェクトに変換する時に
エラーが発生し、正常に処理できませんでした
JSONの中に改行がある場合
正直なところこれが原因なのかはわかりませんが
サーバへ送る前に、JSでtextareaの文字列の中に含まれる改行(\r\n等)を<br>へと置換して送信したところ
エラーは発生せず、正常に処理することができました
実際、サーバへ送った文字列を別ページで表示する際は改行を<br>タグに置き換える処理をしていたので
それをサーバへ送る前にあらかじめ変換しておく
ということをやってみたらうっかりエラーが発生しなくなったので
今はいいかなって感じです
本当の原因はどうかわかりませんが
RubyでJSONをオブジェクトに変換する際にエラーが出る場合
JS側で文字列中の改行文字を別の何かに変換してみると、もしかしたらエラーが直るかもしれません
ということ
おわり
ディスカッション
コメント一覧
まだ、コメントがありません