【问题标题】:Parse a hashtree containing HTML as JSON in javascript在 javascript 中将包含 HTML 的哈希树解析为 JSON
【发布时间】:2014-11-13 10:11:29
【问题描述】:

我一直在试图弄清楚如何将 Rails 后端的哈希树解析为 JavaScript 中的 JSON。在 stackoverflow 和其他方面尝试了几种解决方案,包括:

我要解析的对象:

{  
   "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


    【解决方案1】:

    使用就够了:

    <script>jsonObj = <%=raw ( @map.to_json) %></script>
    

    【讨论】:

    • undefined method `gsub' for #<0x007f7d2000d558>"">">
    • """""""
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 2012-03-22
    • 1970-01-01
    • 2011-06-14
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多