Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
Exception#as_json
(*untyped) -> ::Hash[::String, ::String | ::Array[::String] | nil]
as_json(*)
ext/json/lib/json/add/exception.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.4.1/ext/json/lib/json/add/exception.rb, line 29
def as_json(*)
{
JSON.create_id => self.class.name,
'm' => message,
'b' => backtrace,
}
end
Methods Exception#as_json and Exception.json_create may be used to serialize and deserialize a Exception object; see Marshal.
Method Exception#as_json serializes self, returning a 2-element hash representing self:
Example
require 'json/add/exception' x = Exception.new('Foo').as_json # => {"json_class"=>"Exception", "m"=>"Foo", "b"=>nil}
Method JSON.create deserializes such a hash, returning a Exception object:
Example
Exception.json_create(x) # => #<Exception: Foo>