public class JSONStringer extends JSONWriter
A JSONStringer instance provides a value
method for appending
values to the
text, and a key
method for adding keys before values in objects. There are array
and endArray
methods that make and bound array values, and
object
and endObject
methods which make and bound
object values. All of these methods return the JSONWriter instance,
permitting cascade style. For example,
myString = new JSONStringer() .object() .key("JSON") .value("Hello, World!") .endObject() .toString();which produces the string
{"JSON":"Hello, World!"}
The first method called must be array
or object
.
There are no methods for adding commas or colons. JSONStringer adds them for
you. Objects and arrays can be nested up to 20 levels deep.
This can sometimes be easier than using a JSONObject to build a string.
done, writer
Constructor and Description |
---|
JSONStringer()
Make a fresh JSONStringer.
|
JSONStringer(boolean allowSimpleValues)
Make a fresh JSONStringer.
|
JSONStringer(int indentFactor)
Make a fresh JSONStringer.
|
JSONStringer(int indentFactor,
int indent)
Make a fresh JSONStringer.
|
JSONStringer(int indentFactor,
int indent,
boolean allowSimpleValues)
Make a fresh JSONStringer.
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
toString()
Return the JSON text.
|
public JSONStringer()
public JSONStringer(boolean allowSimpleValues)
allowSimpleValues
- true
to allow the root value to be
a simple value, otherwise false
to only allow objects and arrays
at the root levelpublic JSONStringer(int indentFactor)
indentFactor
- indent level, or 0 for compact outputpublic JSONStringer(int indentFactor, int indent)
indentFactor
- indent level, or 0 for compact outputindent
- initial indentpublic JSONStringer(int indentFactor, int indent, boolean allowSimpleValues)
indentFactor
- indent level, or 0 for compact outputindent
- initial indentallowSimpleValues
- true
to allow the root value to be
a simple value, otherwise false
to only allow objects and arrays
at the root levelpublic java.lang.String toString()
null
if there was a
problem in the construction of the JSON text (such as the calls to
array
were not properly balanced with calls to
endArray
).toString
in class java.lang.Object