我在这里搜索过很多帖子,但我还是找不到答案。
问题: 我想解析这个JSON:
{
"price": {
"currency": {
"class": "com.yintagoka.ad.Currency",
"id": {
"class": "org.bson.types.ObjectId",
"inc": -612166639,
"machine": -1775927134,
"new": false,
"time": 1393682821000,
"timeSecond": 1393682821
},
"code": "USD",
"longName": "United States Dollar",
"name": "USD",
"symbol": null
},
"amount": 100
},
"title": "title",
"description": "desc"
}
成为我的Grails服务器中的对象
class House {
ObjectId id
String name
String title
Price price
// ... many more
}
class Price {
BigDecimal amount
Currency currency
}
class Currency {
ObjectId id
String code
String longName
String name
String symbol
}
Grails为我做了几乎所有重要的事情,但它无法生成ObjectId。所以我将使用对象货币,所有属性名称都填充了值,但id将为null。
我如何告诉Grails也可以自动渲染ObjectId。
注意:我不想在我的ID中使用String。
我还读了post我可以通过request.JSON手动设置它,但问题是我总是得到一张空地图。
def save(House house) {
print('request = '+request.JSON)
print('house = '+house)
print('params = '+params)
}
out:
request = [:]
house = com.yintagoka.ad.House@217b1ead[id=<null>,title=title,description=desc,price=com.yintagoka.ad.Price@1a1b0107[amount=100,currency=com.yintagoka.ad.Currency@62e07ff4[id=<null>,name=USD,longName=United States Dollar,code=USD,symbol=<null>]]
params = [action:delete, controller:house]