module JSON::HashValueConverter(Converter)

Overview

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}}

Defined in:

json/from_json.cr
json/to_json.cr

Class Method Summary

Class Method Detail

def self.from_json(pull : JSON::PullParser)Source

def self.to_json(values : Hash, builder : JSON::Builder)Source

© 2012–2021 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.2.1/JSON/HashValueConverter.html