如何将json数组转换为grails中的对象?

时间:2015-07-31 08:12:31

标签: json grails

我有一个如下列表:

[
    attachmentId: 151,
    createdBy: 73,
    attachmentName: asd
],
[
    attachmentId: 152,
    createdBy: 73,
    attachmentName: pp
],
[
    attachmentId: 157,
    createdBy: 73,
    attachmentName: bacajh
],
[
    attachmentId: 158,
    createdBy: 73,
    attachmentName: sad
],
[
    attachmentId: 159,
    createdBy: 73,
    attachmentName: asd
],
[
    attachmentId: 160,
    createdBy: 73,
    attachmentName: p
],
[
    attachmentId: 161,
    createdBy: 73,
    attachmentName: 2
],
[
    attachmentId: 162,
    createdBy: 73,
    attachmentName: 1
]

如何将这个json数组转换为grails中的object?

2 个答案:

答案 0 :(得分:0)

你可以使用groovy的JsonSluper:

http://www.groovy-lang.org/json.html

def jsonSlurper = new JsonSlurper()
def object = jsonSlurper.parseText(...)

这应该可以解决问题。

答案 1 :(得分:0)

假设你有一个有效的JSON对象(你发布的那个不是:-),你可以使用普通的groovy:

def parsedJson = new groovy.json.JsonSlurper().parseText("""[{
    "attachmentId": 151,
    "createdBy": 73,
    "attachmentName": "asd"
}]"""
)

assert parsedJson instanceof List
assert parsedJson.size() == 1
assert parsedJson.first() instanceof Map
assert parsedJson.first().keySet().size() == 3
assert parsedJson.first().attachmentId == 151