Grails将地图渲染为JSON问题

时间:2013-02-10 18:36:36

标签: json grails map

我有一些代码需要将grails中的地图转换为JSON。我使用grails转换器将map转换为JSON对象,如下所示:

def map=[:].withDefault { [] }
...
def users=service?.staff.each{map<<[(it.id):it.firstName+" "+it.lastName]}
render map as JSON

如果地图是空的,我在转换后得到了这个[:]如果我试图使用$ .parseJSON解析我得到了以下错误

JSON.parse: unexpected character 

如果地图不是空的,我得到“[2:'Feras Odeh']”作为json对象,如果我试图解析我得到了

JSON.parse: expected ',' or ']' after array element 

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

import grails.converters.*;

...

List users = service?.staff.collect{[it.id: "${it.firstName} ${it.lastName}"]}
render(users as JSON)