IT序号网

json之Grails:使用executeQuery呈现JSON

wuhuacong 2026年07月24日 编程语言 81 0

我正在测试一个 Controller ,只是想检索JSON。但是,我注意到 Controller 返回了数据,但是它没有正确返回带有键/值对的JSON。它实际上仅返回数据。但是我注意到,如果我使用Incident.getAll(),它将正确返回JSON。例如,与仅返回数据的executreQuery相比,它将返回[INCIDENTID:“Value”]。

我的代码:

def incident = Incident.executeQuery("select a.INCIDENTID from Incident a") 
render incident as JSON 

请您参考如下方法:

executeQuery的结果是您指定的属性的列表,而不是实际的域对象。例如:

TestDomain.executeQuery("select t.id from TestDomain") as JSON 
===> [1, 2, 3] 

如果需要域对象,则可以改用 findAll。尝试这样的事情:
TestDomain.findAll("from TestDomain") as JSON 
===>[{"class":"TestDomain","id":1,"name":"one"}, 
  {"class":"TestDomain","id":2,"name":"two"}, 
  {"class":"TestDomain","id":3,"name":"three"}] 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!