JSON::Builder
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).
Constructors
Instance methods
Writes an object's field and value.
The field's name is first converted to a String by invoking
to_s on it.
Writes an object's field and then invokes the block.
This is equivalent of invoking string(value) and then
invoking the block.
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.
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.
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.
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.
Writes a string with the content of value.
The payload is stringified via to_s(IO) and escaped for JSON representation.
JSON.build do |builder|
builder.string("foo")
end # => %("foo")
JSON.build do |builder|
builder.string([1, 2])
end # => %("[1, 2]")
This method can also be used to write the name of an object field.
Writes a string with the contents written to the yielded IO.
The payload gets escaped for JSON representation.
JSON.build do |builder|
builder.string do |io|
io << "foo"
io << [1, 2]
end # => %("foo[1, 2]")
end
This method can also be used to write the name of an object field.