序列化 Groovy 映射到 JS 文字对象的 Javascript 解析

标签 javascript jquery json grails spring-websocket

从服务器呈现的字符串:

""['opened':[111, 211, 311, 411, 1013, 1113, 1219], 'closed':[]]""

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

"['opened':[111, 211, 311, 411, 1113, 1219], 'closed':[]]"
  //means  : omit the double `"` , from `""something""` to `"something"`

但是,预期的结果是一个 Literal 对象:

即:

   {'opener': [111, 211, 311, 411, 1113, 1219], 'closed':[] }

如何达到这个结果?我的意思是来自序列化 Groovy Map 的 Javascript 文字对象


更多详细信息:服务器端:

@MessageMapping("/project")
@SendTo("/topic/project")
protected String project(String parameter) {
      def map = ['opened':[111, 211, 311, 411, 1013, 1113, 1219], 'closed':[]]
     return map.inspect()
     
 }

最佳答案

如果您将 Groovy 映射作为 JSON 而不是字符串返回,您可以让您的生活变得更简单,例如

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
}

关于序列化 Groovy 映射到 JS 文字对象的 Javascript 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28182121/

相关文章:

php - 从外部 php 文件更改 innerHTML

javascript - TinyMCE 可以将超链接自动转换为 anchor 吗?

JavaScript/jQuery : replace part of string?

javascript - jQuery - 元素检测性能

jquery - 将 MySQL/JSON 数据转换成表

javascript - 使用 angular.js 从 JSON 对象填充 HTML 表

ios - 使用 Swift 4 解码嵌套 JSON 只返回一个对象

python - 使用 Python 从 JSON 中获取最后一个元素

json - GoLang 结构到 JSON 不转换

c# - 使用jquery刷新验证码图像