Returns a JSON string containing a JSON object, that is generated from this
Hash instance. state is a JSON::State
object, that can also be used to configure the produced JSON string output further. depth
is used to find out nesting depth, to indent accordingly.