1、实体类
package com.groovy.model
/**
* 在Groovy不需要自定义构造方法.但是必须要指定属性名称去传参数数据,Groovy会自动创建,在调用的时候会自动生成setter/getter方法
*/
class User implements Serializable{
//用户Id
Long userId
//用户名
String userName
//年龄
int age
}
2、测试代码
package com.groovy.domain
import com.groovy.model.User
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
import groovy.json.StringEscapeUtils
import org.junit.Test
class JsonTest {
/**
* 初始化数据
* @return
*/
def initData() {
//init初始化数据、在Groovy不需要自定义构造方法.但是必须要指定属性名称去传参数数据,Groovy会自动创建,在调用的时候会自动生成setter/getter方法
def userArray = [
new User(userId: System.currentTimeMillis(), userName: "周伯通", age: 90),
new User(userId: System.currentTimeMillis(), userName: "瑛姑", age: 89)
]
return userArray
}
/**
* 创建Json数据
*/
@Test
void createJson() {
//init初始化数据
def userArray = initData()
//转换成Json数据
def json = JsonOutput.toJson(userArray)
//格式化Json数据
def prettyJson = JsonOutput.prettyPrint(json)
//将Unicode转为中文
def jsonText = StringEscapeUtils.unescapeJava(prettyJson)
println(jsonText)
//将中文转为Unicode
//StringEscapeUtils.escapeJava(jsonText)
}
/**
* 解析JSON数据
*/
@Test
void parseJson() {
//init初始化数据
def userArray = initData()
//转换成Json数据
def json = JsonOutput.toJson(userArray)
//创建JsonSlurper
def jsonSlurper = new JsonSlurper()
//解析Json数据
def parse = jsonSlurper.parseText(json)
//循环输出解析出来的信息
parse.findAll().forEach { owner ->
//方法1
//println(owner["userName"] + "," + owner["age"])
//方法2,将数据转换成User对象,此处理同Kotlin语法一样
def user = owner as User
println("userId=${user.userId},userName=${user.userName},age=${user.age}")
}
}
}
3、createJson方法运行的结果
[
{
"userName": "周伯通",
"userId": 1638085075387,
"age": 90
},
{
"userName": "瑛姑",
"userId": 1638085075618,
"age": 89
}
]
4、parseJson方法运行的结果
userId=1638085179888,userName=周伯通,age=90
userId=1638085180028,userName=瑛姑,age=89
网友评论