Grails.Доменный класс.Проблема с JSON - PullRequest
0 голосов
/ 29 ноября 2010

у меня есть этот класс домена:

package test

class Credit {


    String office;
    String branch;
    String name;
    Integer code;
    Integer number;
    Integer term;
    Integer amount;
    Integer rate;


    static hasMany = [  debts : Debt, 
                fronts : Front,
                securities : Security,
                lawyers : Lawyer,
                guarantes : Guarante]


    static constraints = {
    }
}

Мне нужно создать строку JSON, которая содержит только информацию об этих полях:

String office;
        String branch;
        String name;
        Integer code;
        Integer number;
        Integer term;
        Integer amount;
        Integer rate;

Я пытаюсь:

rezult = Credit.list(fetch:[debts:"lazy", fronts: 'lazy', securities: "lazy", lawyers:"lazy", quarantes:"lazy"])
render new JSON(success: true, message: 'ok', data:rezult);

но в строке JSON у меня есть все данные :( долги, фронты, ценные бумаги ... тоже внутри строки. но мне не нужны эти данные.

Как мне избежать их использования?

ОТВЕТ:

render(contentType:"text/json") {
    success=true
    message='ok'
    totalCount=Credit.count()
    data = array {
        for(d in results) {
            data    office:d.office,
                    branch:d.branch, 
                    name: d.name,
                    code:d.code, 
                    number:d.number,
                    term:d.term,
                    amount:d.amount,
                    rate:d.rate
        }
    }   
}

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

Вы можете попробовать установить setRenderDomainClassRelations на JSON в false, но я полагаю, что вам действительно нужно использовать конструктор и явно объявить структуру JSON далее:

render(builder:'json') {
  success(true)
  message('ok')
  data {
    office(rezult.office)
    branch(rezult.branch)
    // and so on
    }
  }
}
1 голос
/ 29 ноября 2010

вам придется использовать JSON Builder для решения этой проблемы

образец из блога

Документация Grails JSON Builder

...