1

我正在测试一个控制器,只是想检索 JSON。但是,我注意到控制器返回数据,但它没有正确返回带有键/值对的 JSON。它实际上只返回数据。但是我注意到,如果我使用 Incident.getAll(),它会正确返回 JSON。例如,它将返回 [INCIDENTID: "Value"],而不是使用只返回数据的 executreQuery。

我的代码:

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

1 回答 1

2

结果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"}]
于 2012-06-05T19:34:02.840 回答