Method: JSON.generate

Defined in:
lib/crazy_ivan/vendor/json-1.1.7/lib/json/common.rb

.generate(obj, state = nil) ⇒ Object Also known as: unparse

Unparse the Ruby data structure obj into a single line JSON string and return it. state is

  • a JSON::State object,

  • or a Hash like object (responding to to_hash),

  • an object convertible into a hash by a to_h method,

that is used as or to configure a State object.

It defaults to a state object, that creates the shortest possible JSON text in one line, checks for circular data structures and doesn’t allow NaN, Infinity, and -Infinity.

A state hash can have the following keys:

  • indent: a string used to indent levels (default: ”),

  • space: a string that is put after, a : or , delimiter (default: ”),

  • space_before: a string that is put before a : pair delimiter (default: ”),

  • object_nl: a string that is put at the end of a JSON object (default: ”),

  • array_nl: a string that is put at the end of a JSON array (default: ”),

  • check_circular: true if checking for circular data structures should be done (the default), false otherwise.

  • allow_nan: true if NaN, Infinity, and -Infinity should be generated, otherwise an exception is thrown, if these values are encountered. This options defaults to false.

  • max_nesting: The maximum depth of nesting allowed in the data structures from which JSON is to be generated. Disable depth checking with :max_nesting => false, it defaults to 19.

See also the fast_generate for the fastest creation method with the least amount of sanity checks, and the pretty_generate method for some defaults for a pretty output.



177
178
179
180
181
182
183
184
# File 'lib/crazy_ivan/vendor/json-1.1.7/lib/json/common.rb', line 177

def generate(obj, state = nil)
  if state
    state = State.from_state(state)
  else
    state = State.new
  end
  obj.to_json(state)
end