gradle Reading and writing JSON

来源:互联网 发布:黑帽seo发展趋势2016 编辑:程序博客网 时间:2024/05/18 03:37

http://www.groovy-tutorial.org/basic-json/#_writing_json

Reading JSON

file-read-info.groovy
class Student {    Number id    String name    Map results}class ClassReport {    String testScore    String projectScore    String comment}import groovy.json.JsonSlurperimport java.nio.file.PathsJsonSlurper slurper = new JsonSlurper()def studentListPaths.get('resources/report.json').withReader { reader ->    studentList = slurper.parse(reader)}println studentList.dump()

Writing JSON

file-read-info.groovy
import groovy.json.JsonOutputimport groovy.json.JsonSlurperclass Position {    String department, role}class StaffMember {    Number id    String name    Position position    def displayNameTag() {        "Staff member: $name [$id]\n${position.role} - ${position.department}"    }}def staffList = [        new StaffMember(id: 1234, name: 'Fred Nurk',                position: [ department: 'Accounts', role: 'Manager' ] as Position),        new StaffMember(id: 8673, name: 'Alexa Sample',                position: [ department: 'Accounts', role: 'Manager' ] as Position),        new StaffMember(id: 4568, name: 'Jane Doe',                position: [ department: 'Accounts', role: 'Manager' ] as Position),        new StaffMember(id: 8473, name: 'Ian Random',                position: [ department: 'Accounts', role: 'Manager' ] as Position)]//Convert the staffList to JSON using JsonOutputdef json = JsonOutput.toJson(staffList)println JsonOutput.prettyPrint(json)//Now read the JSON back in using JsonSlurperJsonSlurper slurper = new JsonSlurper()def staffListImport = slurper.parseText(json)for (person in staffListImport) {    StaffMember staff = person as StaffMember    println staff.displayNameTag()}

Building JSON

file-read-info.groovy
import groovy.json.JsonBuilderdef json = new JsonBuilder()def staffListExport = json.staff {    '1234' {        id 1234        name 'Fred Nurk'        position (            department: 'Accounts',            role: 'Manager'        )    }}println json.toPrettyString()
0 0
原创粉丝点击