Grails 如何对域对象进行 JSONify,包括其嵌套域 类?

Grails how to JSONify domain object including its nested domain classes?

我正在尝试在 grails.Here 中进行一对多域映射是两个 classes :

class TNDetails {

String tn
String tnpk

static hasMany = [iccid: ICCID]

static mapping = {
    table 'ni_tn'
    version false
    tnpk column : 'TN_PK'
    tn column: 'TN'
    id column: 'TN_PK',name: 'tnpk'
    }

}

class ICCID {

String sim
String customer
static belongsTo = [tn: TNDetails]


static mapping = {
    table 'ni_sim'
    version false
    sim column: 'ICCID'
    customer column: 'CUSTOMER'
    tn column: 'TN_FK'
    id column: 'SIM_PK'
  }
}

相应的查询可以写成:select TN,ICCID from ni_tn,ni_sim where ni_tn.TN_PK = ni_sim.RELATED_TN and tn_pk=1290。现在在我的控制器中,当我通过像这样传递 tn_pk 来获取详细信息时:

def index() {
    def pk = params.tnPK
    def details = TNDetails.findAll   {

        (tnpk == pk)

    }

    respond details
}

我得到以下结果: [ { "class": "com.evolving.resource.tn.TNDetails", "id": 1290, "tnpk": "1290", "iccid": [ { "class": "com.evolving.resource.iccid.ICCID", "id": 4209 } ], "tn": "447400002035" } ]

现在的问题是它没有显示属性 simcustomer(来自 class ICCID)。我怎么办显示这两个参数also.What我这里做错了吗?

改变你的:

respond details

至:

JSON.use("deep") {
    respond details as JSON
}

Deep Converters 完全呈现关联(嵌套域类实例)并处理循环关系(documentation