序列化Groovy映射到JS文本对象的Javascript解析 从服务器呈现的字符串:

序列化Groovy映射到JS文本对象的Javascript解析 从服务器呈现的字符串:,javascript,jquery,json,grails,spring-websocket,Javascript,Jquery,Json,Grails,Spring Websocket,应用JSON.parse后,我们得到: "['opened':[111, 211, 311, 411, 1113, 1219], 'closed':[]]" //means : omit the double `"` , from `""something""` to `"something"` 但是,预期结果是一个文本对象: i、 e: 如何达到这个效果?我指的是来自序列化Groovy映射的Jav

应用
JSON.parse
后,我们得到:

"['opened':[111, 211, 311, 411, 1113, 1219], 'closed':[]]"
  //means  : omit the double `"` , from `""something""` to `"something"`
但是,预期结果是一个文本对象:

i、 e:

如何达到这个效果?我指的是来自序列化Groovy映射的Javascript文本对象


更多详细信息:服务器端:
如果以JSON而不是字符串的形式返回Groovy映射,您的生活可能会简单得多

def myAction() {
  def map = ['opened':[111, 211, 311, 411, 1013, 1113, 1219], 'closed':[]]
  def json = map as JSON
  [result: json, contentType: 'application/json']
}
然后,您可以在客户端以JavaScript对象的形式读取

var someObject = ${result};
如果您的操作是通过AJAX调用的,则应改用以下操作:

def myAction() {
  def map = ['opened':[111, 211, 311, 411, 1013, 1113, 1219], 'closed':[]]
  render map as JSON
}

首先,这似乎不是有效的JSON。我无法使用控制台解析服务器字符串<代码>意外标记:我们使用SpringWebSocket的问题不是内置操作。请参阅更新。
def myAction() {
  def map = ['opened':[111, 211, 311, 411, 1013, 1113, 1219], 'closed':[]]
  def json = map as JSON
  [result: json, contentType: 'application/json']
}
var someObject = ${result};
def myAction() {
  def map = ['opened':[111, 211, 311, 411, 1013, 1113, 1219], 'closed':[]]
  render map as JSON
}