module String::RawConverter

Overview

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

Defined in:

json/from_json.cr
json/to_json.cr

Class Method Summary

Class Method Detail

def self.from_json(value : JSON::PullParser) : StringSource

def self.to_json(value : String, json : JSON::Builder) : NilSource

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