class JSON::Builder
inherits Reference
¶
A JSON builder generates valid JSON.
A JSON::Error
is raised if attempting to generate an invalid JSON
(for example, if invoking end_array
without a matching start_array
,
or trying to use a non-string value as an object's field name).
Class methods¶
Methods¶
#field
¶
Writes an object's field and then invokes the block.
This is equivalent of invoking string(value)
and then
invoking the block.
#field(name, value)
¶
(name, value)
Writes an object's field and value.
The field's name is first converted to a String
by invoking
to_s
on it.
#max_nesting : Int32
¶
: Int32
By default the maximum nesting of arrays/objects is 99. Nesting more than this will result in a JSON::Error. Changing the value of this property allows more/less nesting.
#max_nesting=(max_nesting)
¶
(max_nesting)
By default the maximum nesting of arrays/objects is 99. Nesting more than this will result in a JSON::Error. Changing the value of this property allows more/less nesting.
#next_is_object_key? : Bool
¶
: Bool
Returns true
if the next thing that must pushed into this
builder is an object key (so a string) or the end of an object.
#object
¶
Writes the start of an object, invokes the block, and the writes the end of it.
#raw(string : String)
¶
(string : String)
Writes a raw value, considered a scalar, directly into the IO without processing. This is the only method that might lead to invalid JSON being generated, so you must be sure that string contains a valid JSON string.
#string(value)
¶
(value)
Writes a string. The given value is first converted to a String
by invoking to_s
on it.
This method can also be used to write the name of an object field.