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

module function JSON?.unsafe_load

unsafe_load(source, proc = nil, options = nil) -> objectRuby 3.4 から[permalink][rdoc][edit]

与えられた JSON 形式の文字列を Ruby オブジェクトとしてロードして返します。

JSON?.load と同様のメソッドですが、こちらは信頼できる入力を読み込むためのメソッドであることを名前で明示しています。デフォルトのオプション(create_additions: true を含みます)は JSON.unsafe_load_default_options で変更できます。

source には JSON 形式の文字列だけでなく、to_str, to_io, read のいずれかに応答するオブジェクト (File などの IO や、パスを表すオブジェクトなど) も指定でき、その内容を読み込んだ上で内部的に JSON?.parse を呼び出します。

proc として手続きオブジェクトが与えられた場合は、読み込んだ結果を引数にその手続きを呼び出し、その返り値を最終的な結果とします。

[PARAM] source:
JSON 形式の文字列を指定します。他には、to_str, to_io, read メソッドを持つオブジェクトも指定可能です。
[PARAM] proc:
Proc オブジェクトを指定します。
[PARAM] options:
オプションをハッシュで指定します。指定可能なオプションは JSON?.parse と同様です。
require "json"
require "json/add/core"

json = (1..5).to_json
p JSON.parse(json).class # => Hash
p JSON.unsafe_load(json) # => 1..5

[SEE_ALSO] JSON?.load, JSON?.parse