Ruby 4.0 リファレンスマニュアル

instance method JSON::State#escape_slash

script_safe -> boolRuby 3.3 から[permalink][rdoc][edit]
script_safe? -> boolRuby 3.3 から
script_safe=(enable)Ruby 3.3 から
escape_slash -> boolRuby 3.0 から Ruby 4.1 で削除
escape_slash? -> boolRuby 3.0 から Ruby 4.1 で削除
escape_slash=(enable)Ruby 3.0 から Ruby 4.1 で削除

生成する JSON 形式の文字列中のスラッシュ(/)をエスケープするかどうかを取得・設定します。真を指定すると、スラッシュを \/ としてエスケープします。

Ruby 3.3 以降は、スラッシュに加えて U+2028, U+2029 もエスケープするようになりました。 escape_slash, escape_slash?, escape_slash= は、この設定が script_safe という名前になる前から使われている別名です。Ruby 4.1 で削除されます。

[PARAM] enable:
真を指定するとエスケープを有効にします。偽を指定すると無効にします。
require "json"

state = JSON::State.new(script_safe: true)
p state.script_safe?            # => true
p JSON.generate(["a/b"], state) # => "[\"a\\/b\"]"