Skip to content

module String::RawConverter

Converter to be used with JSON::Serializable to read the raw value of a JSON object property as a String.

It can be useful to read ints and floats without losing precision, or to read an object and deserialize it later based on some condition.

require "json"

class Raw
  include JSON::Serializable

  @[JSON::Field(converter: String::RawConverter)]
  property value : String
end

raw = Raw.from_json(%({"value": 123456789876543212345678987654321}))
raw.value   # => "123456789876543212345678987654321"
raw.to_json # => %({"value":123456789876543212345678987654321})

Class methods

.from_json(value : JSON::PullParser)

View source

.to_json(value : String, json : JSON::Builder)

View source