Module: JSON::GeneratorMethods

Included in:
Object
Defined in:
lib/json/common.rb

Instance Method Summary collapse

Instance Method Details

#to_json(state = nil) ⇒ Object

call-seq: to_json(*)

Converts this object into a JSON string. If this object doesn't directly maps to a JSON native type, first convert it to a string (calling #to_s), then converts it to a JSON string, and returns the result. This is a fallback, if no special method #to_json was defined for some object.



1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
# File 'lib/json/common.rb', line 1119

def to_json(state = nil, *)
  obj = case self
  when nil, false, true, Integer, Float, Array, Hash
    self
  else
    "#{self}"
  end

  if state.nil?
    JSON::State._generate_no_fallback(obj, nil, nil)
  else
    JSON::State.from_state(state)._generate_no_fallback(obj)
  end
end