рендер строитель JSON не рендеринг правильно - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть следующее:

render(builder: "json") {
   template(message:'hello', dateCreated:'someDate') {
      resources {
          resource(id: "123")
          resource(id: "456")
      }
   }
}

Я получаю в Firebug следующее:

{"template":{"message":"hello","dateCreated":"someDate"}}

Я не могу понять, почему я не получаю сбор ресурсов.

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Я подозреваю, что resource(id: "123") разрешается как вызов тега g.resource. Вместо этого вы можете попробовать следующее (или переименовать ресурс в другое):

render(builder: "json") {
   template(message:'hello', dateCreated:'someDate') {
      resources {
          'resource'(id: "123")
          'resource'(id: "456")
      }
   }
}
1 голос
/ 05 декабря 2011

Я обычно просто создаю карту с нужной мне структурой, а затем отображаю ее как JSON.

import grails.converters.JSON
def data = [template: [message: 'hello', dateCreated: 'someDate', resources: [[id: "123"], [id:"456"]]]]
render data as JSON

Не уверен, что это именно та структура, которую вы ищете, но она предоставляет вам

{"template":{"message":"hello","dateCreated":"someDate","resources":[{"id":"123"},{"id":"456"}]}}

Вы можете увидеть пример здесь:

http://manbuildswebsite.com/2010/01/29/rendering-json-using-grails-part-1-collections-testing-and-the-jsonbuilder/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...