1

コントローラーをテストしていて、JSON を取得したいだけです。ただし、コントローラーはデータを返しますが、キーと値のペアで JSON を適切に返さないことに気付きました。文字通りデータを返すだけです。ただし、Incident.getAll() を使用すると、JSON が適切に返されることに気付きました。たとえば、データを返すだけの executreQuery を使用するのではなく、[INCIDENTID: "Value"] を返します。

私のコード:

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 に答える