1、groovy提供了对JSON解析的方法

①JsonSlurper   JsonSlurper是一个将JSON文本或阅读器内容解析为Groovy数据的类结构,例如map,列表和原始类型,如整数,双精度,布尔和字符串。

②JsonOutput   此方法负责将Groovy对象序列化为JSON字符串

2、解析JSON字符串

    def jsonSlurper = new JsonSlurper()
def object = jsonSlurper.parseText('{ "name": "John", "ID" : "1"}') println(object.name)
println(object.ID) 结果输出如下:
John
1

3、解析JSON数组

    def jsonSlurper = new JsonSlurper()
Object lst = jsonSlurper.parseText('{ "List": [2, 3, 4, 5] }')
lst.each { println it }
结果输出如下:
List=[2, 3, 4, 5]

4、解析基本数据类型列表

    def jsonSlurper = new JsonSlurper()
def obj = jsonSlurper.parseText ''' {"Integer": 12, "fraction": 12.55, "double": 12e13}'''
println(obj.Integer)
println(obj.fraction)
println(obj.double)
结果输出如下:
12
12.55
1.2E+14

5、转换JSON字符串

//直接创建JSON

def output = JsonOutput.toJson([name: 'John', ID: 1])

println(output)

结果输出为:

{"name":"John","ID":1}

//根据对象生成JSON

class Student {

String name

int ID

}

def outputs = JsonOutput.toJson([ new Student(name: 'John',ID:1),

new Student(name: 'Mark',ID:2)])

println(outputs)

结果输出为:

[{"name":"John","ID":1},{"name":"Mark","ID":2}

groovy基本语法--JSON的更多相关文章

  1. groovy常用语法及实战

    groovy语言简介 一种基于JVM的敏捷开发语言,作为编程语言可编译成java字节码,也可以作为脚本语言解释执行. 结合了Python.Ruby和Smalltalk的许多强大的特性 支持面向对象编程 ...

  2. Gradle Groovy 基础语法 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. Groovy系列(3)- Groovy基础语法

    Groovy基础语法 动态类型 Groovy定义变量时:可以用Groovy风格的def声明,不指定类型:也可以兼容Java风格,指定变量类型:甚至还可以省略def或类型 def t1 = 't1' S ...

  4. Groovy基础语法

    Groovy 基础语法 变量定义 1.支持动态类型,使用def关键字定义变量 // Java中定义变量的方式 int age = 18; String name = "张三"; / ...

  5. Groovy常见语法汇总

    一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中. 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似.同时,G ...

  6. Groovy常用语法汇总

    基本语法 1.Grovvy的注释分为//和/**/和java的一样. 2.Grovvy语法可以不已分号结尾. 3.单引号,里面的内容严格的对应java中的String,不对$符号进行转义. def s ...

  7. GROOVY简单语法实习

    慢慢的看<GROOVY IN ACTION>的一个中文节译本,根据上面的东东慢慢练习. 中文看起来确实比英文快好多...:) Book gina = new Book('Groovy in ...

  8. JS基础语法---JSON格式的数据

         1. 对象: 有属性和方法,特指的某个事物     对象: 一组无序属性的集合的键值对,属性的值可以是任意的类型   2.JSON格式的数据:一般都是成对的,是键值对,     json也是 ...

  9. Groovy基本语法

    官方文档 注释(Comments) 和Java一样,支持单行(使用//).多行(/* */)和文档注释(使用/** */). Shebang line UNIX系统支持一种特殊的单行注释叫作Sheba ...

随机推荐

  1. Cassandra的安装

    1.上传安装包到node01 cd /export/softwares 2.解压 tar -zxvf apache-cassandra-3.11.5-bin.tar.gz -C ../servers ...

  2. Asp.Net Core 客户端验证和远程验证

    我们先来看这样一个注册页面和它的后台Model @model RegisterViewModel @{ ViewBag.Title = "用户注册"; } <h1>用户 ...

  3. vue vue-cli3 修改elementui的date-picker源码 引入node_modules里的element-ui后报错exports is not defined

    报错说明: 1.复制node_modules/element-ui/packages/date-picker里的文件到自己项目里  --------->>>>>>& ...

  4. [转帖]Linux命令pmap

    Linux命令pmap https://www.cnblogs.com/lnlvinso/p/5272771.html jmap可以查看Java程序的堆内存使用情况,pmap可以查看Linux上运行的 ...

  5. java源码 -- LinkedHashMap

    一.概述 LinkedHashMap 继承自 HashMap,在 HashMap 基础上,通过维护一条双向链表,解决了 HashMap 不能随时保持遍历顺序和插入顺序一致的问题. 除此之外,Linke ...

  6. Django之Form与ModelForm组件

    Django之Form与ModelForm组件 1.Form介绍 Form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 O 保留上次的输入内容 普通方式手写注册功能 vi ...

  7. Qt中的常用容器类(解释比较全面,有插图)

    在Qt库中为我们提供了一系列的基于模板的容器类.这些类可以被用来存储特定类型的项.例如,如果你需要一个大小可以变得QString数组,那么可以使用QVector<QString>. 这些容 ...

  8. hdu 5230 整数划分 dp

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5230 题意:给定n,c,l,r.求有多少种方法从1~n-1选取任意k数每个数的权重为其下标,使得这些数字之 ...

  9. 轻松搭建CAS 5.x系列文章

    轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端 轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端 轻松搭建CAS 5.x系列(3)- ...

  10. MH-P虚拟机DSR中安装SQL2008

    双击下载好的安装文件setup.exe.(注意:安装之前请确认是否有安装SQL Server 2008 R2需要的.NET Framework 3.5 SP1,我的环境由于之前有配置安装过,在这里不具 ...