Groovy Immutable, Json Builder

import groovy.json.JsonBuilder
 
// Example class.
@groovy.transform.Immutable
class Villain {
    String name
}
 
// A list of Villain objects that needs to transformed
// to a JSON array.
def list ['The Joker''Penguin''Catwoman''Harley Quinn'].collect name -> new Villain(name}
 
// We create a new JsonBuilder and
// use the list of Villain objects
// as argument for the constructor
// to create a root JSON array.
def json1 new JsonBuilder(list)
println json1
assert json1.toString(== '[{"name":"The Joker"},{"name":"Penguin"},{"name":"Catwoman"},{"name":"Harley Quinn"}]'
 
 
// Here we use the no-argument constructor
// to create a JsonBuilder.
// Then we use the instance implicit
// method call with the list of Villain
// objects as arguments
def json2 new JsonBuilder()
json2(list)
println json2 
assert json2.toString(== '[{"name":"The Joker"},{"name":"Penguin"},{"name":"Catwoman"},{"name":"Harley Quinn"}]'


Output of Script

 226 ms

[{"name":"The Joker"},{"name":"Penguin"},{"name":"Catwoman"},{"name":"Harley Quinn"}]
[{"name":"The Joker"},{"name":"Penguin"},{"name":"Catwoman"},{"name":"Harley Quinn"}]

Comments

Popular posts from this blog

தட்டு வண்டியில் காளிக்கோயில் - சிறுகதை

பிரேமாவின் பெண் குழந்தை

தீபம் பிளக்ஸ்