【发布时间】:2014-11-13 10:11:29
【问题描述】:
我一直在试图弄清楚如何将 Rails 后端的哈希树解析为 JavaScript 中的 JSON。在 stackoverflow 和其他方面尝试了几种解决方案,包括:
- http://jfire.io/blog/2012/04/30/how-to-securely-bootstrap-json-in-a-rails-view/
- Handling JSON in JS/ERB template in Rails 3
- How to safely embed JSON with </script> in HTML document?
我要解析的对象:
{
"name"=>"map",
"children"=>[
{
"name"=>"servicegroup1",
"children"=>[
{
"name"=>"service1",
"size"=>200,
"id"=>10,
"tooltip"=>" <h3 id=\"status_tooltip_heading\">Service status<\/h3>\n \n <table id=\"status_tooltip_grid\"> \n <tbody>\n <tr>\n <td>Status:<\/td>\n <td>Unknown (an eternity ago)<\/td> \n <\/tr>\n <tr>\n <td>HTTP code:<\/td>\n <td>\"N/A\"<\/td> \n <\/tr> \n <tr>\n <td>Response time:<\/td>\n <td>\"N/A\"<\/td> \n <\/tr>\n <td>Event message:<\/td>\n <td>Not pinged since eternity<\/td> \n <\/tr>\n <\/tbody>\n <\/table>\n"
},
{
"name"=>"service2",
"size"=>200,
"id"=>11,
"tooltip"=>" <h3 id=\"status_tooltip_heading\">Service status<\/h3>\n \n <table id=\"status_tooltip_grid\"> \n <tbody>\n <tr>\n <td>Status:<\/td>\n <td>Unknown (an eternity ago)<\/td> \n <\/tr>\n <tr>\n <td>HTTP code:<\/td>\n <td>\"N/A\"<\/td> \n <\/tr> \n <tr>\n <td>Response time:<\/td>\n <td>\"N/A\"<\/td> \n <\/tr>\n <td>Event message:<\/td>\n <td>Not pinged since eternity<\/td> \n <\/tr>\n <\/tbody>\n <\/table>\n"
},
...
]
},
...
]
}
这是我目前尝试在 javascript 中将其解析为 JSON 的方式,并尝试了上述链接中的技术。
<script>jsonObj = JSON.parse('<%==(raw @map.to_s).gsub("=>",":").gsub("</","<\\/") %>')</script>
已经坚持了好几个小时了。我真的很感激你能给我的任何见解。 另外,rails 版本是 4.1.2
【问题讨论】:
标签: javascript jquery ruby-on-rails json erb