Events 如何向事件推送发送JSON数据?

Events 如何向事件推送发送JSON数据?,events,grails,groovy,websocket,push,Events,Grails,Groovy,Websocket,Push,我正在使用grails的事件推送插件 当我推送以下简单数据时,一切正常: def mydata = [:] mydata.message = "hello world" event (topic: 'mySaved', data: mydata) grailsEvents.on('mySaved', function (data) { console.log(data); console.log(data.message) } grailsEvents.on('mySaved', f

我正在使用grails的事件推送插件

当我推送以下简单数据时,一切正常:

def mydata = [:]
mydata.message = "hello world"
event (topic: 'mySaved', data: mydata)
grailsEvents.on('mySaved', function (data) {
  console.log(data);
  console.log(data.message)
}
grailsEvents.on('mySaved', function (data) {
  console.log(data);
  console.log("This is ID: " + data.id)
}
我可以在我的页面上这样显示:

def mydata = [:]
mydata.message = "hello world"
event (topic: 'mySaved', data: mydata)
grailsEvents.on('mySaved', function (data) {
  console.log(data);
  console.log(data.message)
}
grailsEvents.on('mySaved', function (data) {
  console.log(data);
  console.log("This is ID: " + data.id)
}
但是,我想向这个主题发送一个完整的实例,当它中断时

例如:

def mydata = colorInstance as JSON
println mydata
event (topic: 'mySaved', data: mydata)
上面的
println
打印:

{"id":10,"color":"Red","description":"hot color"}
如果我尝试在我的页面上这样使用它:

def mydata = [:]
mydata.message = "hello world"
event (topic: 'mySaved', data: mydata)
grailsEvents.on('mySaved', function (data) {
  console.log(data);
  console.log(data.message)
}
grailsEvents.on('mySaved', function (data) {
  console.log(data);
  console.log("This is ID: " + data.id)
}
我没有得到想要的结果。上面在控制台日志中打印以下内容:

Object {class: "grails.converters.JSON", depth: 0, writer: Object}
This is ID: undefined
问题

如何发送
colorInstance
,以便在控制台中获取它?

尝试按一下

event( topic: 'mySaved', data: mydata.toString() )

这在控制台中显示了
{“id”:10,“color”:“Red”,“description”:“hot color”}
,因为
console.log(data)
。但是,
console.log(data.id)
仍然显示undefined.ah nevermind。我使用
$.parseJson
将json字符串转换为JS对象。谢谢