0
我有一個類Subscriber(parent)和Optionsdetail(child)。他們有一對多的關係。JSON Marshaller指定要顯示的屬性
類用戶{
String picture
String versionn
String title
String subtitle
Integer guid
Integer saleprice
Integer msrp
Integer costprice
String saletype
String category
String storecategory
String brand
String condition
String shipwithin
String modelskucode
String state
String link
String image
String image2
String image3
String image4
String description
String publishdate
Integer active
Integer weight
Integer quantity
String shippingprice
String whopay
String shiptolocation
String shippingmethod
String paymentmethod
String gsttype
String optionsstatus
Options options
Optionsdetails optionsdetails
雖然下面是類Optiondetails
class Optionsdetails {
String sku
String usersku
Integer price
Integer saleprice
Integer msrp
Integer costprice
Integer quantity
Integer warningqty
String image1
Integer status
static belongTo = [subscriber: Subscriber]
我要呈現從這些類只有特定的屬性,所以我做的代碼在引導如下
class BootStrap {
def init = { servletContext ->
JSON.registerObjectMarshaller(Subscriber) {
def returnArray = [:]
returnArray['title'] = it.title
returnArray['Id'] = it.guid
returnArray['description'] = it.description
returnArray['saletype'] = it.saletype
returnArray['options'] = ["optionName1": it.options.optionName1, "optionDetail1": it.options.optionDetail1]
returnArray['optionsdetails'] = it.optionsdetails.list()
return returnArray
}
}
這對類Subscriber屬性很好,但我怎樣才能定製要查看的內容f或來自類Optionsdetails的屬性。例如,我不想顯示其ID,我想要安排顯示的屬性。以下是JSON的外觀:
[
{
"title": "Female bag 2017 spring and summer new ladies shoulder bag wild shell small bag handbag female bag Messenger bag",
"Id": 710,
"description": "<font style=\"vertical-align: inherit;\"><font style=\"vertical-align: inherit;\">loading description...</font></font>",
"saletype": "B",
"options": {
"optionName1": "Color",
"optionDetail1": "Navy blue,light Grey,Taro purple,Deep purple,Dark gray,Pink,Light blue,Dark pink,black,Red wine,"
},
"optionsdetails": [
{
"id": 1,
"costprice": null,
"image1": "710.0",
"msrp": null,
"price": null,
"quantity": 4561,
"saleprice": null,
"sku": "Navy blue",
"status": 1,
"usersku": null,
"warningqty": 0
},
{
"id": 2,
"costprice": null,
"image1": "710.0",
"msrp": null,
"price": null,
"quantity": 4331,
"saleprice": null,
"sku": "light Grey",
"status": 1,
"usersku": null,
"warningqty": 0
},
請親善指導。謝謝