添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
{"book":{"info":{},"version":{"mainVersion":"1.0"}}}

当然 JsonBuilder 构建的时候还可以传入一个Object对象,然后将对象转化为 json

import groovy.json.JsonBuilder
class Person {
    def name = "XiaoMing"
    def age = 23
def person = new Person()
def json = new JsonBuilder(person)
println(json.toString())
{"age":23,"name":"XiaoMing"}
  • JsonOutput类 同样可以帮助我们将类或Map转为json
import groovy.json.JsonBuilder
import groovy.json.JsonOutput
class Person {
    def name = "XiaoMing"
    def age = 23
def person = new Person()
println(JsonOutput.toJson(person))

Json转化为Bean

JsonSlurper可以将一个json解析为Map集合,然后我们可以将这个集合构造除对象.

首先在Groovy 一个Map会智能转化为对应Bean对象,并把map的key和Bean属性对应上,然后进行赋值。

class Person {
    def name = "XiaoMing"
    def age = 23
def myMap = [name: "ZhangSan", age: 23]
Person myNewPerson = myMap
println(myNewPerson.dump())

输出:
<Person@192b07fd name=ZhangSan age=23>

我们回过头继续看Sluerper

import groovy.json.JsonBuilder
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
class Person {
    def name = "XiaoMing"
    def age = 23
def slurper = new JsonSlurper()
def json = """{"age":123,"name":"ZhangSan"}"""
def parseResult = slurper.parseText(json)
println("result is map ${parseResult instanceof Map}")
Person person = parseResult
println("利用map构造的person ${person.dump()}")
result is map true
利用map构造的person <Person@74650e52 name=ZhangSan age=123>
                    如何生成Json字符串JsonBuilder利用元编程的特性帮助我们快速生成一个json字符串import groovy.json.JsonBuilderdef json = new JsonBuilder()json.book {    info {        name = "Java入门到放弃"        author = "XiaoMing"    }    version {        mainVersion  "1.0"    }}//漂亮的格式化输出js
				
前言        json解析对于一个web开发人员而言简直是太重要了好吗?最近在使用Groovy写压测脚本,特来总结一下Groovy是如何解析json的。json的简单解析1 生成json def json = new JsonBuilder() json.state { name "fulei.yang"
Groovy自带了转换JSON的功能,相关类都在groovy.json包下。本文参考自Groovy文档 Parsing and producing JSON。 首先我们定义两个简单的类。 class Person { int id String name List<Book&gt...
import org.apache.poi.ss.usermodel.* import org.apache.poi.xssf.usermodel.* import java.io.File def file = new File("example.xlsx") def workbook = new XSSFWorkbook(file) def sheet = workbook.getSheetAt() sheet.each { row -> row.each { cell -> switch (cell.cellType) { case CellType.NUMERIC: println(cell.numericCellValue) break case CellType.STRING: println(cell.stringCellValue) break case CellType.BOOLEAN: println(cell.booleanCellValue) break case CellType.BLANK: println(" ") break default: println(" ") break 希望能够帮到您。