3

我有这个简单的域类:

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.person地图仍然为空。我错过了什么?

4

3 回答 3

2

您可以在控制器中执行以下操作:

def json = request.JSON;
def s = new Settings(json);
s.person = json.person;

它很难看,但数据绑定似乎无法处理嵌套的 json

于 2013-02-25T16:51:44.503 回答
1

如果你想让它工作,你需要将你的结构转换为:

{"uid":1234 , "person.first_name": "jhon" , "person.last_name": "doe"}
于 2013-02-25T13:22:59.507 回答
0

如果在实例化设置之前添加此行,它将递归绑定。

JSON.use('deep')
于 2016-02-04T22:45:25.480 回答