0

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 Odeh']」をjsonオブジェクトとして取得しました。これを解析しようとすると、取得しました

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

どうすればこれを修正できますか?

4

1 に答える 1

0
import grails.converters.*;

...

List users = service?.staff.collect{[it.id: "${it.firstName} ${it.lastName}"]}
render(users as JSON)
于 2013-02-10T21:21:18.817 に答える