1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
require 'multi_json/adapter'
require 'multi_json/convertible_hash_keys'
require 'multi_json/vendor/okjson'
module MultiJson
module Adapters
class OkJson < Adapter
include ConvertibleHashKeys
ParseError = ::MultiJson::OkJson::Error
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
def dump(object, _ = {})
::MultiJson::OkJson.valenc(stringify_keys(object))
end
end
end
end
|