module ActiveSupport::JSON
def self.encode(value, options = nil)
ActiveSupport::JSON.encode({ team: 'rails', players: '36' })
See http://www.json.org for more info.
Dumps objects in JSON (JavaScript Object Notation).
def self.encode(value, options = nil) Encoding.json_encoder.new(options).encode(value) end
def convert_dates_from(data)
def convert_dates_from(data) case data when nil nil when DATE_REGEX begin Date.parse(data) rescue ArgumentError data end when DATETIME_REGEX begin Time.zone.parse(data) rescue ArgumentError data end when Array data.map! { |d| convert_dates_from(d) } when Hash data.transform_values! do |value| convert_dates_from(value) end else data end end
def decode(json)
ActiveSupport::JSON.decode("{\"team\":\"rails\",\"players\":\"36\"}")
See http://www.json.org for more info.
Parses a JSON string (JavaScript Object Notation) into a hash.
def decode(json) data = ::JSON.parse(json, quirks_mode: true) if ActiveSupport.parse_json_times convert_dates_from(data) else data end end
def parse_error
Rails.logger.warn("Attempted to decode invalid JSON: #{some_string}")
rescue ActiveSupport::JSON.parse_error
obj = ActiveSupport::JSON.decode(some_string)
begin
in the future.
depend on the ActiveSupport's JSON implementation, in case it changes
error in decoding JSON. Using this method means you won't directly
Returns the class of the error that will be raised when there is an
def parse_error ::JSON::ParserError end