在Groovy中解析JSON数组的数组
我从REST JSON响应中获得以下字符串:
[ {
"uid":10512213,
"name":"Bob"
},
{
"uid":7208201,
"name":"John"
},
{
"uid":10570,
"name":"Jim"
},
{
"uid":1799657,
"name":"Sally"
}
]
其余响应定义来自Facebook:FB REST链接
我正在使用在Jetty中运行的Google App Engine + GAELYK。
在服务器上的Groovy 中将上述内容转换为 的最佳方法是什么。(这可能必须通过响应来递归) *
我正在寻找不包含很多库的简单东西。(我没有行家)
回答:
回答:
import groovy.json.JsonSlurper// Example Response Data
def restResponse = '[{"uid":10512213, "name":"Bob"},{"uid":7208201, "name":"John"},{"uid":10570, "name":"Jim"},{"uid":1799657, "name":"Sally"}]'
// Parse the response
def list = new JsonSlurper().parseText( restResponse )
// Print them out to make sure
list.each { println it }
回答:
使用JsonSlurper …
读取该响应的示例脚本为:
@Grab('net.sf.json-lib:json-lib:2.3:jdk15')import net.sf.json.groovy.JsonSlurper
// Example Response Data
def restResponse = '[{"uid":10512213, "name":"Bob"},{"uid":7208201, "name":"John"},{"uid":10570, "name":"Jim"},{"uid":1799657, "name":"Sally"}]'
// Parse the response
def list = new JsonSlurper().parseText( restResponse )
// Print them out to make sure
list.each { println it }
输出:
[uid:10512213, name:Bob][uid:7208201, name:John]
[uid:10570, name:Jim]
[uid:1799657, name:Sally]
如您所见,它list
是一个Maps列表,因此,例如,如果您只想要一个名称列表,则可以执行以下操作:
def names = list.name
要在您的Gaelyk应用中使用此功能,您只需要从此处下载json-
lib-2.3-jdk15.jar并执行类似的操作(然后不用@Grab,因为您将jar保存在WEB-INF/lib
文件夹中。
- 编辑 -
环顾四周,发现此页面显示 json-lib 的依赖项
- 雅加达公共语言2.4
- 雅加达Commons-Beanutils 1.7.0
- 雅加达Commons-Collections 3.2
- ssh Linuxs
- ezmorph 1.0.6
测试脚本中的@Grab为您做了很多后台工作
以上是 在Groovy中解析JSON数组的数组 的全部内容, 来源链接: utcz.com/qa/429826.html