Groovy 处理JSON
来源:互联网 发布:各种淘宝助理版本下载 编辑:程序博客网 时间:2024/05/21 17:29
Groovy自带了转换JSON的功能,相关类都在groovy.json
包下。本文参考自Groovy文档 Parsing and producing JSON。
首先我们定义两个简单的类。
class Person { int id String name List<Book> 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对象。在进行复杂对象处理的时候要留意这些返回值。
如果需要了解详细信息,请直接查阅本文开始的文档链接。
0 0
- Groovy 处理JSON
- groovy之json请求处理
- Groovy基本使用(7):JSON 处理
- groovy 速学 - 23 - Xml及 Json 的处理
- Groovy 操作json
- Groovy解析json
- groovy操作map,json
- Groovy的资源处理
- groovy字符串处理
- Groovy创建和解析json
- Groovy Json解析和构建
- Groovy创建和解析json
- Groovy 1.8 新特性: 原生 JSON 支持
- groovy 把json串转化成对象
- 使用groovy JsonBuilder输出对象JSON格式
- Groovy Json生成器和解析器
- Groovy中Json,Xml,简单的Swing
- groovy
- 逆向学习--立意
- Ubuntu休眠后不能唤醒
- Windows搭建Hexo博客
- 写在博客一周年的纪念日
- 持有对象(容器)
- Groovy 处理JSON
- 欢迎使用CSDN-markdown编辑器
- Coding从0开始
- 为什么TCP连接需要三次握手分开需要四次握手?
- Spring学习笔记之构建Spring Web应用程序
- java组件更改颜色方法
- File readLine()
- 几种常用的hash算法
- 捋捋ARC