json - 使用Grails中预定义的ID从JSON创建对象

标签 json grails

我有个问题!需要获取一个已经设置了ID且尚未保存的json对象。但是尝试创建对象ID时为null。并且只有在调用save方法生成不同的id时才设置它。
例如:
objetoJson = {id: "123413215123", name: "Leonan Teixeira", address: {id: "12345", city: "Victory", state: "Bahia"}} def person = new Person (objetoJson) 对象的结束状态:

Person.id = null
Person.Address =空

但我需要存储ID。
如果我做同样的事情
person.properties =对象

我的类(class)被映射为id'uuid'
String id; static mapping = { id generator: 'uuid' }
解决方案

在约束中添加一个bindable:true
class MyDomain { static constraints = { // allow binding of "id" attribute (e.g. in constructor or url parameters) id bindable: true } }
http://www.redcube.de/assigning-id-domain-objects-grails-via-constructor/

最佳答案

试试这个:

def jsonSlurper = new JsonSlurper()

def dataPerson = jsonSlurper.parseText('{ "id":"123456789", "nome": "Leonardo Meurer", "age":"29" }')

def person = new Person (dataPerson)

关于json - 使用Grails中预定义的ID从JSON创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27358145/

相关文章:

javascript - 如何提交包含相关字段列表的表单?

java - [PlayFramework 2.5][Java] JSON post 请求绑定(bind)到表单中

javascript - 将一些 json 数据推送到 Node.js 中的空数组

grails - 将域ID设置为int或Long

spring - Grails应用无法在Tomcat上加载

java - Grails 3.2 文件上传错误 (FileNotFoundException )

node.js - GAE 中 Node JS 项目中的 HTTP 413 请求实体太大

grails - 如何在Grails中呈现来自api的html响应

apache - 我想为我的 grails 应用程序使用 mod_jk 集成 tomcat 和 apache

javascript - 错误对象, native 和自定义,如何区分?