有没有一种通用的方法可以递归地从 JSON 中创建 Grails-Objects?
例子
class Person {String name, String surname ....}
class Text { String content, Person owner }
从以下 JSON 创建对象的最简单方法是什么:
{
"class":"Text",
"content":"test test test",
"owner":{
"class":"Person",
"id":1
}
}
甚至出自:
{
"class":"Text",
"content":"test test test",
"owner":{
"class":"Person",
"name":"foo",
"surname":"bar"
}
}
一个简单的创建(没有嵌套类)就像魅力一样:
Person p = new Person(JSON.parse(responseBody))
另一个问题是:如果无法进行嵌套创建,我该如何修改反序列化过程?
目前我通过手动分配避免了这个问题:
def jsonObj = new JsonSlurper().parseText( element.toString() )
Person.get(jsonObj.owner.id)
如果有一个通用的方法会很好。
谢谢你