Railsでの#to_jsonが行うエスケープ処理を回避する
& < > などが勝手に置き換えられてしまう問題
Railsでのto_jsonメソッドはRuby本体のto_jsonメソッドではなく、ActiveSupportに実装されたものが使われる。
RubyとRailsのto_jsonの違い - Qiita
概要
出力される JSON に含まれる文字の一部が、JavaScript の Unicode エスケープシーケンス に変換されているかされていないかが異なる。
Rails 側は、どういう仕様なんだろう?と思いました。
rub...
https://qiita.com/kjirou/items/74906b8ad43c72b63a02
この挙動を回避するには JSON.generate()
を使ってあげると良い、と実装のコメントに書いてあった。
rails/json.rb at main · rails/rails
Ruby on Rails. Contribute to rails/rails development by creating an account on GitHub.
https://github.com/rails/rails/blob/main/activesupport/lib/active_support/core_ext/object/json.rb#L34-L46