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

instance method JSON::State#as_json

as_json -> Proc | nilRuby 4.0 から[permalink][rdoc][edit]
as_json=(prc)

strict? が真のとき、そのままでは JSON 形式の文字列に変換できないオブジェクトを変換するために使用する Proc を取得・設定します。

設定した Proc は、変換できないオブジェクトが現れるたびに、そのオブジェクトと、それがハッシュのキーとして使われているかどうかを表す真偽値の 2 引数で呼び出されます。 Proc の返り値が、代わりに JSON 形式の文字列への変換に使われます。

[PARAM] prc:
変換できないオブジェクトを変換するための Proc を指定します。
require "json"

state = JSON::State.new(strict: true, as_json: ->(obj, is_key) { obj.to_s })
p state.as_json.class             # => Proc
p JSON.generate([1, 2..3], state) # => "[1,\"2..3\"]"

[SEE_ALSO] JSON::State#strict