unsafe_load(source, proc = nil, **options) -> objectRuby 3.4 から[permalink][rdoc][edit]-
与えられた JSON 形式の文字列を Ruby オブジェクトとしてロードして返します。
JSON?.load と同様のメソッドですが、こちらは信頼できる入力を読み込むためのメソッドであることを名前で明示しています。
sourceには JSON 形式の文字列だけでなく、to_str,to_io,readのいずれかに応答するオブジェクト (File などの IO や、パスを表すオブジェクトなど) も指定でき、その内容を読み込んだ上で内部的に JSON?.parse を呼び出します。procとして手続きオブジェクトが与えられた場合は、読み込んだ結果を引数にその手続きを呼び出し、その返り値を最終的な結果とします。オプションはキーワード引数で指定します。
procの位置にハッシュを渡してもオプションとしては扱われず、Hash#to_proc で変換した手続きとして各値に適用されます。- [PARAM]
source: -
JSON 形式の文字列を指定します。他には、
to_str,to_io,readメソッドを持つオブジェクトも指定可能です。 - [PARAM]
proc: - Proc オブジェクトを指定します。
- [PARAM]
options: - オプションをキーワード引数で指定します。指定可能なオプションは JSON?.parse と同様です。
- [EXCEPTION]
ArgumentError: - オプションのハッシュを位置引数で渡した場合や、未知のキーワードを指定した場合に発生します。
require "json" p JSON.unsafe_load('[1, [2, [3]]]') # => [1, [2, [3]]][SEE_ALSO] JSON?.load, JSON?.parse
- [PARAM]