instance method
DateTime#as_json
(*untyped) -> ::Hash[::String, ::String | ::Integer | ::Float]
as_json(*)
ext/json/lib/json/add/date_time.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/ext/json/lib/json/add/date_time.rb, line 39
def as_json(*)
{
JSON.create_id => self.class.name,
'y' => year,
'm' => month,
'd' => day,
'H' => hour,
'M' => min,
'S' => sec,
'of' => offset.to_s,
'sg' => start,
}
end
Methods DateTime#as_json and DateTime.json_create may be used to serialize and deserialize a DateTime object; see Marshal.
Method DateTime#as_json serializes self, returning a 2-element hash representing self:
Example
require 'json/add/datetime' x = DateTime.now.as_json # => {"json_class"=>"DateTime", "y"=>2023, "m"=>11, "d"=>21, "sg"=>2299161.0}
Method JSON.create deserializes such a hash, returning a DateTime object:
Example
DateTime.json_create(x) # BUG? Raises Date::Error "invalid date"