Module: ActiveSupport::JSON
- Defined in:
- lib/active_support/json/decoding.rb,
lib/active_support/json/encoding.rb,
lib/active_support/json/variable.rb,
lib/active_support/json/encoders/string.rb
Defined Under Namespace
Modules: Encoding Classes: CircularReferenceError, ParseError, Variable
Class Method Summary collapse
-
.decode(json) ⇒ Object
Converts a JSON string into a Ruby object.
-
.encode(value, options = {}) ⇒ Object
Converts a Ruby object into a JSON string.
Class Method Details
.decode(json) ⇒ Object
Converts a JSON string into a Ruby object.
11 12 13 14 15 |
# File 'lib/active_support/json/decoding.rb', line 11 def decode(json) YAML.load(convert_json_to_yaml(json)) rescue ArgumentError => e raise ParseError, "Invalid JSON string" end |
.encode(value, options = {}) ⇒ Object
Converts a Ruby object into a JSON string.
7 8 9 10 11 12 13 14 |
# File 'lib/active_support/json/encoding.rb', line 7 def self.encode(value, = {}) seen = ([:seen] ||= []) raise CircularReferenceError, 'object references itself' if seen.include?(value) seen << value value.send(:to_json, ) ensure seen.pop end |