# File lib/json/common.rb, line 295 def load(source, proc = nil, options = {}) load_default_options = { :max_nesting => false, :allow_nan => true, :create_additions => false } opts = load_default_options.merge options if source.respond_to? :to_str source = source.to_str elsif source.respond_to? :to_io source = source.to_io.read else source = source.read end result = parse(source, opts) recurse_proc(result, &proc) if proc result end