Temporary fork of groovy.json.StreamingJsonBuilder until Groovy 2.4.5 is out.
| Modifiers | Name | Description | 
|---|---|---|
| static class | StreamingJsonBuilder.StreamingJsonDelegate | The delegate used when invoking closures | 
| Constructor and description | 
|---|
| StreamingJsonBuilder
                                (java.io.Writer writer)Instantiates a JSON builder. | 
| StreamingJsonBuilder
                                (java.io.Writer writer, JsonGenerator generator)Instantiates a JSON builder with the given generator. | 
| StreamingJsonBuilder
                                (java.io.Writer writer, java.lang.Object content)Instantiates a JSON builder, possibly with some existing data structure. | 
| StreamingJsonBuilder
                                (java.io.Writer writer, java.lang.Object content, JsonGenerator generator)Instantiates a JSON builder, possibly with some existing data structure and the given generator. | 
| Type Params | Return Type | Name and description | 
|---|---|---|
|  | java.lang.Object | call(java.util.Map m)Named arguments can be passed to the JSON builder instance to create a root JSON object | 
|  | java.lang.Object | call(groovy.lang.Writable writable)Invokes the given writable against the writer | 
|  | void | call(java.lang.String name)The empty args call will create a key whose value will be an empty JSON object: 
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.person() | 
|  | java.lang.Object | call(java.util.List l)A list of elements as arguments to the JSON builder creates a root JSON array | 
|  | java.lang.Object | call(java.lang.Object... args)Varargs elements as arguments to the JSON builder create a root JSON array | 
|  | java.lang.Object | call(java.lang.Iterable coll, groovy.lang.Closure c)A collection and closure passed to a JSON builder will create a root JSON array applying the closure to each object in the collection | 
|  | java.lang.Object | call(groovy.lang.Closure c)A closure passed to a JSON builder will create a root JSON object | 
|  | void | call(java.lang.String name, groovy.lang.Closure c)A name and a closure passed to a JSON builder will create a key with a JSON object | 
|  | void | call(java.lang.String name, java.lang.Iterable coll, groovy.lang.Closure c)A name, a collection and closure passed to a JSON builder will create a root JSON array applying the closure to each object in the collection | 
|  | void | call(java.lang.String name, java.util.Map map, groovy.lang.Closure callable)If you use named arguments and a closure as last argument, the key/value pairs of the map (as named arguments) and the key/value pairs represented in the closure will be merged together — the closure properties overriding the map key/values in case the same key is used. | 
|  | java.lang.Object | invokeMethod(java.lang.String name, java.lang.Object args)A method call on the JSON builder instance will create a root object with only one key whose name is the name of the method being called. | 
| Methods inherited from class | Name | 
|---|---|
| class groovy.lang.GroovyObjectSupport | groovy.lang.GroovyObjectSupport#setProperty(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getProperty(java.lang.String), groovy.lang.GroovyObjectSupport#invokeMethod(java.lang.String, java.lang.Object), groovy.lang.GroovyObjectSupport#getMetaClass(), groovy.lang.GroovyObjectSupport#setMetaClass(groovy.lang.MetaClass), groovy.lang.GroovyObjectSupport#wait(long, int), groovy.lang.GroovyObjectSupport#wait(long), groovy.lang.GroovyObjectSupport#wait(), groovy.lang.GroovyObjectSupport#equals(java.lang.Object), groovy.lang.GroovyObjectSupport#toString(), groovy.lang.GroovyObjectSupport#hashCode(), groovy.lang.GroovyObjectSupport#getClass(), groovy.lang.GroovyObjectSupport#notify(), groovy.lang.GroovyObjectSupport#notifyAll() | 
| class java.lang.Object | java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), 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() | 
Instantiates a JSON builder.
writer -  A writer to which Json will be writtenInstantiates a JSON builder with the given generator.
writer -  A writer to which Json will be writtengenerator -  used to generate the outputInstantiates a JSON builder, possibly with some existing data structure.
writer -   A writer to which Json will be writtencontent -  a pre-existing data structure, default to nullInstantiates a JSON builder, possibly with some existing data structure and the given generator.
writer -  A writer to which Json will be writtencontent -  a pre-existing data structure, default to nullgenerator -  used to generate the outputNamed arguments can be passed to the JSON builder instance to create a root JSON object
Example:
 new StringWriter().with { w ->
   def json = new groovy.json.StreamingJsonBuilder(w)
   json name: "Tim", age: 31
   assert w.toString() == '{"name":"Tim","age":31}'
 }
 m -  a map of key / value pairsInvokes the given writable against the writer
writable -  a map of key / value pairsThe empty args call will create a key whose value will be an empty JSON object:
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.person()
     assert w.toString() == '{"person":{}}'
 }
 name -  The name of the empty object to createA list of elements as arguments to the JSON builder creates a root JSON array
Example:
 new StringWriter().with { w ->
   def json = new groovy.json.StreamingJsonBuilder(w)
   def result = json([1, 2, 3])
   assert result == [ 1, 2, 3 ]
   assert w.toString() == "[1,2,3]"
 }
 l -  a list of valuesVarargs elements as arguments to the JSON builder create a root JSON array
Example:
 new StringWriter().with { w ->
   def json = new groovy.json.StreamingJsonBuilder(w)
   def result = json 1, 2, 3
   assert result instanceof List
   assert w.toString() == "[1,2,3]"
 }
 args -  an array of valuesA collection and closure passed to a JSON builder will create a root JSON array applying the closure to each object in the collection
Example:
 class Author {
      String name
 }
 def authors = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")]
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json authors, { Author author ->
         name author.name
     }
     assert w.toString() == '[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]'
 }
 coll -  a collectionc -  a closure used to convert the objects of collA closure passed to a JSON builder will create a root JSON object
Example:
 new StringWriter().with { w ->
   def json = new groovy.json.StreamingJsonBuilder(w)
   json {
      name "Tim"
      age 39
   }
   assert w.toString() == '{"name":"Tim","age":39}'
 }
 c -  a closure whose method call statements represent key / values of a JSON objectA name and a closure passed to a JSON builder will create a key with a JSON object
Example:
 new StringWriter().with { w ->
   def json = new groovy.json.StreamingJsonBuilder(w)
   json.person {
      name "Tim"
      age 39
   }
   assert w.toString() == '{"person":{"name":"Tim","age":39}}'
 }
 name -  The key for the JSON objectc -  a closure whose method call statements represent key / values of a JSON objectA name, a collection and closure passed to a JSON builder will create a root JSON array applying the closure to each object in the collection
Example:
 class Author {
      String name
 }
 def authors = [new Author (name: "Guillaume"), new Author (name: "Jochen"), new Author (name: "Paul")]
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.people authors, { Author author ->
         name author.name
     }
     assert w.toString() == '{"people":[{"name":"Guillaume"},{"name":"Jochen"},{"name":"Paul"}]}'
 }
 name -  The name of the JSON attributecoll -  a collectionc -  a closure used to convert the objects of collIf you use named arguments and a closure as last argument, the key/value pairs of the map (as named arguments) and the key/value pairs represented in the closure will be merged together — the closure properties overriding the map key/values in case the same key is used.
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.person(name: "Tim", age: 35) { town "Manchester" }
     assert w.toString() == '{"person":{"name":"Tim","age":35,"town":"Manchester"}}'
 }
 name -  The name of the JSON objectmap -  The attributes of the JSON objectcallable -  Additional attributes of the JSON object represented by the closureA method call on the JSON builder instance will create a root object with only one key whose name is the name of the method being called. This method takes as arguments:
Example with a classical builder-style:
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.person {
         name "Tim"
          age 28
     }
     assert w.toString() == '{"person":{"name":"Tim","age":28}}'
 }
 
 Or alternatively with a method call taking named arguments:
 
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.person name: "Tim", age: 32
     assert w.toString() == '{"person":{"name":"Tim","age":32}}'
 }
 
 If you use named arguments and a closure as last argument,
 the key/value pairs of the map (as named arguments)
 and the key/value pairs represented in the closure
 will be merged together —
 the closure properties overriding the map key/values
 in case the same key is used.
 
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.person(name: "Tim", age: 35) { town "Manchester" }
     assert w.toString() == '{"person":{"name":"Tim","age":35,"town":"Manchester"}}'
 }
 
 The empty args call will create a key whose value will be an empty JSON object:
 
 new StringWriter().with { w ->
     def json = new groovy.json.StreamingJsonBuilder(w)
     json.person()
     assert w.toString() == '{"person":{}}'
 }
 
     name -  the single keyargs -  the value associated with the key