博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Groovy 处理JSON
阅读量:7169 次
发布时间:2019-06-29

本文共 1392 字,大约阅读时间需要 4 分钟。

Groovy自带了转换JSON的功能,相关类都在groovy.json包下。本文参考自。

首先我们定义两个简单的类。

class Person {    int id    String name    List
books @Override String toString() { "Book(id;$id,name:$name,books:${books})" }}class Book { int id String name @Override String toString() { "Book(id:$id,name:$name)" }}

JsonOutput

JsonOutput类用于将Groovy对象转换为JSON字符串。使用起来非常简单。JsonOutput功能很强,可以转换各种基本类型、数组、列表、Map、自定义对象等等。对结果再次调用prettyPrint方法,还可以获得格式化的输出,非常方便。

static void parseSimpleObject() {        def book = new Book(id: 1, name: 'Thinking in Java')        def jsonOutput = new JsonOutput()        def result = jsonOutput.toJson(book)        println(result)        //格式化输出        println(jsonOutput.prettyPrint(result))    }//结果{"id":1,"name":"Thinking in Java"}{    "id": 1,    "name": "Thinking in Java"}

JsonSlurper

JsonSlurper和JsonOutput相反,用于将Groovy对象转换为Json字符串。它提供了很多parse方法,可以从文件、数组、字节流等各种地方转换对象,这里调用的是parseText方法,从字符串中转换对象。注意转换结果是一个Map,当然如果对象很简单,我们可以使用Groovy的Map解构用Map创建实际对象。

static void parseSimpleJson() {        def text = '{"id":1,"name":"Thinking in Java"}'        def jsonSlurper = new JsonSlurper()        //获取到的是Map对象        def map = jsonSlurper.parseText(text)        println(map)        //将Map转换为实际对象        def obj = new Book(map)        println(obj)    }

用JsonSlurper的时候需要注意,数组会被转换为ArrayList对象,而object会被转换为Map对象。在进行复杂对象处理的时候要留意这些返回值。

如果需要了解详细信息,请直接查阅本文开始的文档链接。

转载地址:http://mhtwm.baihongyu.com/

你可能感兴趣的文章
String 总结
查看>>
构造函数
查看>>
openstack 网络
查看>>
安装配置
查看>>
RabbitMQ用户管理
查看>>
修改System.Web.Mvc.WebViewPage创建自己的pageBase
查看>>
OkHttp工具类
查看>>
ThinkPHP学习 volist标签高级应用之多重嵌套循环、隔行变色(转)
查看>>
安全测试的目的,发现哪些问题
查看>>
WinForm DataGridview.AutoSizeColumnsMode属性
查看>>
linux下 html转pdf
查看>>
架构,改善程序复用性的设计~第三讲 实现一种功能的代码只能出现在一处(续)...
查看>>
ViewPager的使用
查看>>
Windows下编译Python2.7源码
查看>>
监督学习中的“生成模型”和“判别模型”
查看>>
如何编写出拥抱变化的代码
查看>>
Debug查看Struts2中ExceptionMappingInterceptor拦截器怎么把ExceptionHolder放入值栈中,以及理解拦截器的工作原理。。。...
查看>>
Linux top命令
查看>>
(三)Redis之数据结构概念以及数据结构之字符串
查看>>
BZOJ 1006 [HNOI2008]神奇的国度
查看>>