1、JsonBuilder构建
示例1,
people = new Expando(name:"ZJ", addr:"ShangHai")
people.phone = [131111111, 132111111] // List
people.expr = [java:2, groovy:1] // Map
builder = new groovy.json.JsonBuilder(people)
writer = new StringWriter()
builder.writeTo(writer)
println writer
返回结果
{
"name":"ZJ",
"addr":"ShangHai",
"phone":[131111111,132111111],
"expr":{
"java":2,
"groovy":1
}
}
===================================================================
示例2,
def builder = new JsonBuilder()
//如同构建对象一样
builder.pepole{
person{
firstName 'lu'
lastName 'zhang'
//传入map
address(
city: 'Shanghai',
country: 'China',
zip: 12345,
)
married false
//传如list
conferences 'sftp', 'windows'
}
}
//以树形结构输出
println JsonOutput.prettyPrint(builder.toString())
运行结果
{
"pepole": {
"person": {
"firstName": "lu",
"lastName": "zhang",
"address": {
"city": "Shanghai",
"country": "China",
"zip": 12345
},
"married": false,
"conferences": [
"sftp",
"windows"
]
}
}
}
2、JsonBuilder定制化构建
array = [131111111,132111111]
exp = [java:2, groovy:1]
builder = new groovy.json.JsonBuilder()
builder {
name "ZJ"
addr "ShangHai"
phone array
expr exp
}
writer = new StringWriter()
builder.writeTo(writer)
println writer
返回结果
{
"name": "ZJ",
"addr": "ShangHai",
"phone": [
131111111,
132111111
],
"expr": {
"java": 2,
"groovy": 1
}
}
3、JsonSlurper解析
示例1,
jsonText1 = """{
"name":"ZJ",
"addr":"ShangHai",
"phone":[131111111,132111111],
"expr":{
"java":2,
"groovy":1
}
}"""
slurper = new groovy.json.JsonSlurper()
people = slurper.parseText(jsonText1)
//people = slurper.parse(new FileReader('person.json'))
println people.name // ZJ
println people.addr // ShangHai
println people.phone // [131111111, 132111111]
println people.expr // [groovy:1, java:2]
示例2,
jsonText2 = """
{
"pepole": {
"person": {
"firstName": "lu",
"lastName": "zhang",
"address": {
"city": "Shanghai",
"country": "China",
"zip": 12345
},
"married": false,
"conferences": [
"sftp",
"windows"
]
}
}
}
"""
//类似XmlSlurper
def root = new JsonSlurper().parseText(jsonText2)
assert root instanceof Map
assert root.person.conferences instanceof List
assert root.person.firtsName == 'lu'
assert root.person.conferences[1] == 'windows'
分享到:
相关推荐
groovy-json-3.0.7.jar
脚本解析工具,可使用Groovy或Xquery解析JSON报文或XML报文
Groovy-JSON-Parser
groovy
java运行依赖jar包
groovy脚本实现对数据库的增删改查,groovy脚本不需要编译,十分实用
groovy代码-临时 json
入参是字符串格式的xml,目的是解析xml节点值,作为数据库检索where条件,检索出数据库记录,利用四个游标返回四个数据集,然后用groovy脚本将四个游标数据集解析成json出参中对应的四个节点值。出参json有两层结构...
使用Groovy可以快速灵活完成文本处理,数据库访问,XML处理等常见任务。研究表明,使用Groovy比使用Java写程序,代码量少3-10倍。 DSL是新一代基于领域设计专用语言。由于Groovy的超级灵活性,你可以使用Groovy快速...
Groovy in Action, Second Edition is the undisputed definitive reference on the Groovy language. Written by core members of the Groovy language team, this book presents Groovy like no other can—from ...
groovy-io消除了使用ObjectInputStream / ObjectOutputStream序列化对象的需要,而使用了JSON格式。 有第三个可选类( JsonObject ),请参见下面的“非类型化用法”。 groovy-io不需要类实现Serializable或...
apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...
赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...
groovy入门经典,groovyeclipse 插件
了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...
Making Java Groovy is a practical handbook for developers who want to blend Groovy into their day to day work with Java It starts by introducing the key differences between Java and Groovy and how you...
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
Groovy轻松入门—搭建Groovy开发环境 Groovy轻松入门—搭建Groovy开发环境
Groovy