class MultiJson::Adapters::OkJson

Use the vendored OkJson library to dump/load.

Constants

ParseError

Public Instance Methods

dump(object, _ = {}) click to toggle source

Serialize a Ruby object to JSON

@api private @param object [Object] object to serialize @param _ [Hash] serialization options (unused) @return [String] JSON string

@example Serialize object to JSON

adapter.dump({key: "value"}) #=> '{"key":"value"}'
# File lib/multi_json/adapters/ok_json.rb, line 38
def dump(object, _ = {})
  ::MultiJson::OkJson.valenc(stringify_keys(object))
end
load(string, options = {}) click to toggle source

Parse a JSON string into a Ruby object

@api private @param string [String] JSON string to parse @param options [Hash] parsing options @return [Object] parsed Ruby object

@example Parse JSON string

adapter.load('{"key":"value"}') #=> {"key" => "value"}
# File lib/multi_json/adapters/ok_json.rb, line 22
def load(string, options = {})
  result = ::MultiJson::OkJson.decode("[#{string}]").first
  options[:symbolize_keys] ? symbolize_keys(result) : result
rescue ArgumentError # invalid byte sequence in UTF-8
  raise ParseError
end