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编写webservice服务端和客户端(含连接数据并输出JSON数据)”表明了本文将探讨如何使用Groovy编程语言来构建Web服务的服务器端和客户端,并且这些服务会涉及与数据库的交互以及JSON数据的处理。...
在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入探讨如何使用Groovy来执行常见的数据库操作。首先,我们需要连接到数据库。在Groovy中,我们可以利用JDBC(Java Database Connectivity)API来实现这...
在Groovy中处理JSON数据是常见的任务,特别是在需要与Web服务交互或者进行数据转换时。本篇文章将深入探讨Groovy如何处理JSON,并通过`main.groovy`文件中的代码示例进行说明。 首先,Groovy提供了内置的JSON支持,...
import groovy.json.JsonSlurper RESTClient client = new RESTClient('http://example.com') def resp = client.get(path: '/path') def json = new JsonSlurper().parseText(resp.data) println json ``` ...
书中还涵盖了Groovy对XML和JSON的支持,使得数据交换和解析更加便捷。 压缩包中的"API"部分可能包含Groovy的标准库文档,这对于开发者来说是非常宝贵的资源。Groovy的API包含了各种内置类、方法和函数,覆盖了I/O、...
在Spring MVC框架中,处理JSON数据是常见的任务,特别是在构建RESTful API时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java环境中,Spring ...
Groovy脚本可以通过读取数据库表结构,或者解析JSON、XML等数据格式,获取到字段信息,然后根据这些信息动态生成Java类。通常,一个POJO类会包含属性(fields)、getter和setter方法,以及可能的构造函数。Groovy的...
在IT行业中,JSON(JavaScript Object Notation)是...这种方法在实际开发中非常常见,特别是在处理来自Web服务、API接口或其他系统的JSON数据时。熟练掌握JSON数据与Java对象之间的转换技巧,对提升开发效率至关重要。
在移动应用开发中,特别是在Android平台上,使用JSON数据来创建动态、丰富的动画效果是一种常见做法。本主题将深入探讨如何通过解析JSON来实现动画展示,主要以"Lottie"库为例,该库在Android开发中被广泛用于加载和...
本篇文章将详细介绍如何使用阿里巴巴的Fastjson库进行JSON操作,并封装成一个方便使用的工具类,以适应各种常见的传值需求。 Fastjson是阿里巴巴提供的一款Java语言编写的高性能功能完备的JSON库。它不仅能够快速地...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式...以上就是关于JSON依赖包的基本介绍,包括常见的JSON处理库以及如何在Java项目中引入和使用这些库。了解并掌握这些知识对于进行Java Web开发至关重要。
在Android开发中,XML(可扩展标记语言)和JSON(JavaScript Object Notation)都是常见的数据交换格式。XML因其结构化特性适用于复杂的文档存储,而JSON则以其轻量级、易于阅读和编写的特点广泛用于Web服务的数据...
在Android应用开发中,与服务器进行数据交互是常见的需求,其中JSON作为一种轻量级的数据交换格式,被广泛用于客户端和服务器之间的通信。本教程将详细讲解如何在Android中获取通过HTTP协议传输的JSON数据,以及如何...
Android JSON解析数组是Android开发中的常见任务,因为许多API返回的数据以JSON数组的形式存在。在这个场景下,我们将深入探讨如何在Android中解析JSON数组,并结合PHP服务器进行数据交互。 首先,我们需要了解JSON...
在Android应用开发中,与服务器进行数据交互是常见的需求,其中JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于客户端与服务端之间的数据传输。本教程将聚焦于如何在Android客户端利用...
在Java开发中,将List集合转化为JSON格式是常见的数据处理需求。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。在Java中,我们可以借助第三方库来...
一个常见的XML到JSON转换的jar包是`org.json:json`,它包含了一个名为`JSONObject`的类,可以处理XML和JSON之间的转换。以下是如何使用这个jar包的基本步骤: 1. 将`org.json.jar`文件添加到项目的`libs`目录。 2. ...
在Android开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,被广泛用于网络通信,尤其是在移动应用中,如Android。本节我们将深入探讨如何在Android中解析JSON数据,以及如何从自建的Tomcat...
在Java和Android开发中,XML和JSON是两种常见的数据交换格式。XML(eXtensible Markup Language)是一种结构化数据格式,广泛用于Web服务和数据存储。而JSON(JavaScript Object Notation)则因其轻量级、易读写的...
在Android和Java开发中,与服务器进行数据交互是常见的任务,而JSON作为一种轻量级的数据交换格式,被广泛用于客户端和服务器之间的数据传输。本文将详细介绍在Java环境下处理JSON所需的jar包,以及如何使用它们来...