2013-02-10 108 views
0

我有一些代碼需要將grails中的地圖轉換爲JSON。我用Grails的轉換器,地圖轉換成JSON對象,如下所示:Grails將地圖渲染爲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奧德’]」作爲如果我試圖分析我

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

我怎樣才能解決這個JSON對象?

+1

我沒有看到你轉換地圖到JSON在你的問題?您的地圖默認情況下不會被格式化爲JSON格式。 – 2013-02-11 13:38:48

+0

對不起。我忘了包括這一行 – 2013-02-11 14:40:27

回答

0
import grails.converters.*; 

...

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