Groovy创建和解析json
在Groovy 1.8发布新闻中,提到Groovy增加了对JSON的支持。Dustin Marx在其博文中,讲述了这一功能的使用。
用法真的很简单,创建一个JSON对象:
import groovy.json.JsonBuilder
def json = new JsonBuilder()
json.state{
capital "Denver"
majorCities "Denver", "Colorado Springs", "Fort Collins"
}
println json
看看结果!是不是很简单!在Debug的时候,查看一个n长的JSON字符串是件很痛苦的事情。不用担心,Groovy已经想到了!它提供了JsonOutput.prettyPrint(String)方法,直接以树型输出JSON字符串:
import groovy.json.JsonOutput
//JsonBuilder也有类似的方法,JsonBuilder.toPrettyString(),效果相同
println JsonOutput.prettyPrint(json.toString())
是不是可读性很好?
凡是用过XmlSlurper的人都会被它解析XML文件的方便性所吸引,对于JSON文件,Groovy同样提供了一个解析器:JsonSlurper,用法如下:
//states.js
{
"state": {
"capital": "Denver",
"majorCities": [
"Denver",
"Colorado Springs",
"Fort Collins"
]
}
} //解析代码
import groovy.json.JsonSlurper
def jsonPayload = new File("states.js").text
def slurper = new JsonSlurper()
def states = slurper.parseText(jsonPayload)
之后可通过诸如:states.state或者states.state.name访问属性值。强强联合,果然与众不同!:)
关于示例中更多详细代码,请参见原文。
Groovy创建和解析json的更多相关文章
- Java创建和解析Json数据方法(三)——json-lib包的使用
(三)json-lib包的使用 这篇笔记主要介绍json-lib包的创建和解析json数据的方式,主要是的JSONObject.JSONArray和Java对象:beans, maps ...
- Unity3D_(数据)LitJson创建和解析Json
LitJson github: 传送门 JsonUtility创建和解析Json 传送门 LitJson.dll百度云盘 传送门 密码:p1py 加载LitJson.dll到Unity中 在Asset ...
- Unity3D_(数据)JsonUtility创建和解析Json
Json 百度百科:传送门 LitJson创建和解析Json 传送门 Json数据解析在Unity3d中的应用 传送门 一.使用JsonUnity创建Json using System.Collect ...
- C语言创建及解析Json的使用法则
参考原文:http://blog.csdn.net/xukai871105/article/details/33013455 JSON(JavaScriptObject Notation)是一种轻量级 ...
- iOS 使用SBJSON创建和解析JSON
原文地址:http://blog.csdn.net/gf771115/article/details/7718403 //创建JSON NSDictionary *dictonary = [[NSMu ...
- Java创建和解析Json数据方法(四)——json-lib包的使用
(四)json-lib包的使用 既然json-lib包比org.json包重量级,那么json-lib包肯定有很多org.json包没有的类和方法,这篇笔记简单记录json-lib包中 ...
- Java创建和解析Json数据方法(二)——org.json包的使用
(二)org.json包的使用 1.简介 工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookie ...
- Java创建和解析Json数据方法——org.json包的使用(转)
org.json包的使用 1.简介 工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookies, ...
- Java创建和解析Json数据方法(五)——Google Gson包的使用
(五)Google Gson包的使用 1.简介 Gson包中,使用最多的是Gson类的toJson()和fromJson()方法: ①toJson():将java对象转化为json数据 ...
随机推荐
- 阿里云ECS试用
公司在推一个大项目,感觉阿里云挺好用的,自己搞了台小机器平时可以跑着玩,而且可以做个跳板机,平时学校里的收费网直接用跳板机就可以访问了,直接写个脚本在自己机器上跑一下: #!/usr/bin/expe ...
- 80X86 分段机制(读书笔记)
GDT(全局描述符表)本身并不是一个段,而是线性地址空间的一个数据结构.GDT的线性地址和长度必须加载进GDTR寄存器中.LDT(局部描述符表)存放在LDT类型的系统段中.此时GDT必须含有LDT的段 ...
- hdu 3409 最短路树+树形dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3409 参考博客:http://www.cnblogs.com/woaishizhan/p/318981 ...
- poj1003
题目大意:超越悬挂 你可以把卡片最远堆到距离桌子多远?如果你有一张卡片,你可以堆卡片长度的一半如果有两张卡片那么可以堆1/2+1/3=5/6,如果有n张卡片那么可以堆1/2+1/3+1/4+..... ...
- P - The Shortest Path in Nya Graph-hdu4725(双端队列+拆点)
题意:有N个点和N层..一层有X个点(0<=X<=N).两邻两层间有一条路花费C.还有M条小路在两个点之间.问从第一个点走到第N个点最短路是多少... 可以考虑在每一层增加一个点,这个点到 ...
- L - Oil Deposits
很清新的一道题,搜索里面最基础的题目,深搜广搜都可以.....不过还是喜欢深搜,写起来简单>.. //////////////////////////////////////////////// ...
- Let it Bead
http://poj.org/problem?id=2409 // File Name: poj2409.cpp // Author: bo_jwolf // Created Time: 2013年1 ...
- 阿里IPO弃港赴美?
最近,关于阿里巴巴和香港联交所博弈的新闻一直长时间占据了各大科技媒体的头条.9月25日,香港联交所行政总裁在港交所其个人专栏“小加网志”中贴出一则名为<投资者保障杂谈>的博客文章,谈及“香 ...
- sl4j记录
- CentOS 搭建 FastDFS-5.0.5集群
转http://www.open-open.com/lib/view/open1435468300700.html 第一步,确定目标: Tracker 192.168.224.20:22122 C ...