2014-11-01 7 views
2

Я пытаюсь преобразовать мой Map<String, TableEntry> в JSON в моем контроллере следующегоGrails: Конвертирование нон класса домена JSON

def index() { 
     // get tables 
     JSON.use('deep') 
     render(tables) as JSON 
    } 

Моего TableEntry класс не-домен, как я не хочу оставаться его

class TableEntry { 
    String teamName 
    Integer gamesPlayed = 0 
    Integer gamesWon = 0 
    Integer gamesDrawn = 0 
    Integer gamesLost = 0 
    Integer points = 0 

    // other methods 

Однако, когда мой JSON оказывается в клиенте, я получаю следующее:

'Team A':[email protected], 'Team Z':[email protected] 

Как мне получить это, чтобы полностью конвертировать?

ответ

2

Неверный оператор выписки. У вас есть:

render(tables) as JSON 

Тем не менее, следует читать:

render tables as JSON 

обертывания переменной «таблицы» в скобках, рендер происходит, прежде чем вы можете бросить «таблицы» в формат JSON.

+2

У меня также были проблемы с этим синтаксисом, в зависимости от сложности выражения, поэтому я обычно использую 'render (tables as JSON)', чтобы убедиться, что 'as' применяется правильно –

Смежные вопросы