在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

回到顶部