class MultiJson::Adapters::JsonGem
Use the JSON gem to dump/load.
Constants
- PRETTY_STATE_PROTOTYPE
- ParseError
Public Instance Methods
dump(object, options = {})
click to toggle source
Serialize a Ruby object to JSON
@api private @param object [Object] object to serialize @param options [Hash] serialization options @return [String] JSON string
@example Serialize object to JSON
adapter.dump({key: "value"}) #=> '{"key":"value"}'
# File lib/multi_json/adapters/json_gem.rb, line 45 def dump(object, options = {}) opts = options.except(:adapter) json_object = object.respond_to?(:as_json) ? object.as_json : object return ::JSON.dump(json_object) if opts.empty? if opts.delete(:pretty) opts = PRETTY_STATE_PROTOTYPE.merge(opts) return ::JSON.pretty_generate(json_object, opts) end ::JSON.generate(json_object, opts) 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/json_gem.rb, line 29 def load(string, options = {}) string = string.dup.force_encoding(Encoding::UTF_8) if string.encoding != Encoding::UTF_8 options[:symbolize_names] = true if options.delete(:symbolize_keys) ::JSON.parse(string, options) end