The Slurper:
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper();
/*
Read the JSON from the file system
*/
def jsonSlurper = new JsonSlurper()
def reader = new BufferedReader(new FileReader("c:/tmp/users.json"))
def parsedData = jsonSlurper.parse(reader)
def usersList = []
parsedData.each {
entry,value ->
println value
def user = new User(id:value.id,
screenName:value.screenName,
name:value.name,
url:value.url,
followersCount:value.followersCount,
friendsCount:value.friendsCount,
favouritesCount:value.favouritesCount,
statusesCount:value.statusesCount)
usersList.add(user)
}
usersList.each {aUser -> println aUser.name}
The Bean:
class User{
def id
def screenName
def name
def url
def followersCount
def friendsCount
def favouritesCount
def statusesCount
def String toString(){
return "Name: "+this.name+
" ScreenName:"+this.screenName+
" Followers: "+this.followersCount+
" Friends: "+this.friendsCount+
" Favourites: "+this.favouritesCount+
" Statuses: "+this.statusesCount+"
" URL: "+this.url
}
}
The json file:
{
"users": [
{
"followersCount": 2000,
"id": "293939",
"favouritesCount": null,
"friendsCount": 2000,
"url": null,
"screenName": "ALAN000",
"name": "Alan",
"statusesCount": 1900
},
{
"followersCount": 1000,
"id": "393939",
"favouritesCount": null,
"friendsCount": 2030,
"url": null,
"screenName": "ALF2000",
"name": "Alfred",
"statusesCount": 900
},
{
"followersCount": 3020,
"id": "493939",
"favouritesCount": null,
"friendsCount": 2200,
"url": null,
"screenName": "ANNA000",
"name": "Anna",
"statusesCount": 910
}
]
}
Generated with this code:
def user1 = new GroovyUser(id:"293939",name:"Alan",screenName:"ALAN000",followersCount:2000,friendsCount:2000,statusesCount:1900)
def user2 = new GroovyUser(id:"393939",name:"Alfred",screenName:"ALF2000",followersCount:1000,friendsCount:2030,statusesCount:900)
def user3 = new GroovyUser(id:"493939",name:"Anna",screenName:"ANNA000",followersCount:3020,friendsCount:2200,statusesCount:910)
def users = [user1, user2,user3]
def jsonBuilder = new groovy.json.JsonBuilder(users:users)
println(jsonBuilder.toPrettyString())
def file = new File("c:/tmp/users.json")
file.write(jsonBuilder.toPrettyString())
Inga kommentarer:
Skicka en kommentar