Sunday, March 18, 2018

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"}]

No comments:

Post a Comment

உப்பு மாங்காய்

சுருக்குப்பை கிழவி. சுருக்கங்கள் சூழ் கிழவி. பார்க்கும் போதெல்லாம் கூடையுடனே குடியிருப்பாள். கூடை நிறைய குட்டி குட்டி மாங்காய்கள். வெட்டிக்க...