我有一个简单的域类:
class Settings {
static constraints = {
uid(nullable: false, unique: true)
person()
}
String uid
Map person
}
以及使用json请求更新数据的web UI:
{"uid":1234 , person:{"first_name" : "jhon" , "last_name" : "doe"}}
在控制器代码中:
def json = request.JSON;
def s = new Settings(json);
似乎正在设置s.uid,但是s.人映射仍然为空。我错过了什么?
您可以在控制器中执行以下操作:
def json = request.JSON;
def s = new Settings(json);
s.person = json.person;
这很难看,但数据绑定似乎无法处理嵌套的json
如果你想让它发挥作用,你需要将你的结构转换为:
{"uid":1234 , "person.first_name": "jhon" , "person.last_name": "doe"}
如果在实例化Settings之前添加此行,它将递归绑定。
JSON.use('deep')