|
Groovy Documentation | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.codehaus.groovy.grails.web.json.JSONWriter
public class JSONWriter extends java.lang.Object
JSONWriter provides a quick and convenient way of producing JSON text. The texts produced strictly conform to JSON syntax rules. No whitespace is added, so the results are ready for transmission or storage. Each instance of JSONWriter can produce one JSON text.
A JSONWriter instance provides avalue
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.
Nested Class Summary | |
---|---|
protected enum |
JSONWriter.Mode
Enumeration of the possible modes of the JSONWriter |
Field Summary | |
---|---|
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 Summary | |
JSONWriter(java.io.Writer w)
Make a fresh JSONWriter. |
Method Summary | |
---|---|
protected JSONWriter
|
append(java.lang.String s)
Append a value. |
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 |
JSONWriter
|
value(double d)
Append a double value. |
JSONWriter
|
value(long l)
Append a long value. |
JSONWriter
|
value(java.lang.Object o)
Append an object value. |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
protected boolean comma
protected JSONWriter.Mode mode
protected java.io.Writer writer
Constructor Detail |
---|
public JSONWriter(java.io.Writer w)
Method Detail |
---|
protected JSONWriter append(java.lang.String s)
s
- A string value.
public JSONWriter array()
endArray
will be appended to this array. The
endArray
method must be called to mark the array's end.
protected void comma()
protected JSONWriter end(JSONWriter.Mode m, char c)
m
- Modec
- Closing character
public 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.Object o)
o
- The object to append. It can be null, or a Boolean, Number,
String, JSONObject, or JSONArray.
Groovy Documentation