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

instance method JSON::State#script_safe

script_safe -> boolRuby 3.3 から[permalink][rdoc][edit]
script_safe? -> bool
script_safe=(enable)

生成する 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\"]"