public class JSONWriter
extends java.lang.Object
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 a cascade style. For example,
new JSONWriter(myWriter)
.object()
.key("JSON")
.value("Hello, World!")
.endObject(); which writes
{"JSON":"Hello, World!"}
The first method called must be array or object.
There are no methods for adding commas or colons. JSONWriter 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.| Modifier and Type | Class and Description |
|---|---|
protected static class |
JSONWriter.Mode
Enumeration of the possible modes of the JSONWriter
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
comma
The comma flag determines if a comma should be output before the next
value.
|
protected JSONWriter.Mode |
mode
The current mode.
|
protected java.io.Writer |
writer
The writer that will receive the output.
|
| Constructor and Description |
|---|
JSONWriter(java.io.Writer w)
Make a fresh JSONWriter.
|
| Modifier and Type | Method and Description |
|---|---|
protected JSONWriter |
append(java.lang.String s)
Append a value.
|
protected JSONWriter |
append(groovy.lang.Writable writableValue) |
JSONWriter |
array()
Begin appending a new array.
|
protected void |
comma() |
protected JSONWriter |
end(JSONWriter.Mode m,
char c)
End something.
|
JSONWriter |
endArray()
End an array.
|
JSONWriter |
endObject()
End an object.
|
JSONWriter |
key(java.lang.String s)
Append a key.
|
JSONWriter |
object()
Begin appending a new object.
|
protected void |
pop(JSONWriter.Mode c)
Pop an array or object scope.
|
protected void |
push(JSONWriter.Mode c)
Push an array or object scope.
|
JSONWriter |
value(boolean b)
Append either the value
true or the value
false. |
JSONWriter |
value(double d)
Append a double value.
|
JSONWriter |
value(long l)
Append a long value.
|
JSONWriter |
value(java.lang.Number number)
Append a number value
|
JSONWriter |
value(java.lang.Object o)
Append an object value.
|
JSONWriter |
valueNull() |
protected boolean comma
protected JSONWriter.Mode mode
protected java.io.Writer writer
public JSONWriter(java.io.Writer w)
protected JSONWriter append(java.lang.String s)
s - A string value.protected JSONWriter append(groovy.lang.Writable writableValue)
protected void comma()
public JSONWriter array()
endArray will be appended to this array. The
endArray method must be called to mark the array's end.protected JSONWriter end(JSONWriter.Mode m, char c)
m - Modec - Closing characterpublic JSONWriter endArray()
array.public JSONWriter endObject()
object.public JSONWriter key(java.lang.String s)
s - A key string.public JSONWriter object()
endObject will be appended to this object. The
endObject method must be called to mark the object's end.protected void pop(JSONWriter.Mode c)
c - The scope to close.protected void push(JSONWriter.Mode c)
c - The scope to open.public JSONWriter value(boolean b)
true or the value
false.b - A boolean.public JSONWriter value(double d)
d - A double.public JSONWriter value(long l)
l - A long.public JSONWriter value(java.lang.Number number)
number - public JSONWriter valueNull()
public JSONWriter value(java.lang.Object o)
o - The object to append. It can be null, or a Boolean, Number,
String, JSONObject, or JSONArray.