ActiveSupport::JSONは自動でunicode escape sequenceにしてくれる
以前、JSON gemが1.4系でescapeしなくなったじゃん、ひどい! みたいなことを言ったことがあって、その後 Rails を使うようになって、なんか JSON 出力したときに unicode escape sequence になってるような気がするなー、なんでだろー、JSON gem のポリシーがまた変わったのかなーとか思ってたけど、違った。
よく見たら Rails は JSON gem じゃなくて ActiveSupport の JSON ライブラリを使っていた。
ほーなるほどな。ということは ActiveSupport を使ってるんだったらこっちの JSON にした方がより安全な JSON を吐けるということか。
今度から Rails 使わないときも JavaScript に渡す JSON を作るときには ActiveSupport::JSON を使うようにしようかな。遅いかもしれないけど、その方が安心だし。
実はちょっと意地になってやってやろうと思って、ぐぐったら json/pure になんかあるっていうんで、json/pure の JSON.utf8_to_json_ascii っていうやつを試してみようと思ったらこれが String しか受け付けなくて、なんだそれと思って to_json した結果をこいつに渡せばいいのかと思ったら encode 壊れて decode できませんと言われて、なんだよそれ!って思った直後に Rails どうしてるんだろう、と読んだら解決したっつー話でした。
最初から Rails 読めばいいんだよ。
More
Recent Posts
- » ものぐささんのためのTypeScriptを使いつつGASでも使えるライブラリ開発環境
- » quickjs.rbでRubyの環境からJavaScriptのロジック(I/Oのないコード)の動作結果を得る
- » kintoneからエクスポートしたCSVデータの変換ライブラリを作ってみた
- » MCPメモ
- » Mermaidの大きすぎる余白を調整する方法の一例
- » LLMアプリをLLMを使いながら作ってみた
- » Gemini Advancedでもうゲームが変わっていた
- » 今さらLLMのモデルの違いとプロンプトエンジニアリングについて
- » Bundler環境でIRBでもLSPでもドキュメントを利用する方法
- » Ruby 3.2と3.3のirb historyの扱いの違いと対処方法