module JSON::HashValueConverter(Converter)
¶
Converter to be used with JSON::Serializable
to serialize the Hash(K, V)
values elements with the custom converter.
require "json"
class TimestampHash
include JSON::Serializable
@[JSON::Field(converter: JSON::HashValueConverter(Time::EpochConverter))]
property birthdays : Hash(String, Time)
end
timestamp = TimestampHash.from_json(%({"birthdays":{"foo":1459859781,"bar":1567628762}}))
timestamp.birthdays # => {"foo" => 2016-04-05 12:36:21 UTC, "bar" => 2019-09-04 20:26:02 UTC)}
timestamp.to_json # => {"birthdays":{"foo":1459859781,"bar":1567628762}}