【发布时间】:2012-04-09 14:58:44
【问题描述】:
我正在尝试从 Rails 应用程序的 JSON 输出字符串中获取 JSON 对象。目前我正在使用 JavaScript:
data = "<%= @chromosomes.html_safe %>";
但是,由于 JSON 对象的开头和结尾都有引号,因此它不会被呈现为 JSON 对象。相反,它正在做类似的事情
data = "[{"name":"YHet","organism_id":"4ea9b90e859723d3f7000037"}]"
有没有办法可以删除开头和结尾的引号,以便将对象视为数组而不是字符串?
【问题讨论】:
-
我不知道“html_safe”的确切含义,但请注意,当您使用 HTML 安全转义符(“<”表示“
-
@Pointy 在这种情况下使用
html_safe可能是正确的,因为他可能想要[{"name":"&lt;script src='badwebsite.com/bad.js'&gt;&lt;/script&gt;","organism_id":"..."}]而不是[{"name":"<script src='badwebsite.com/bad.js'></script>","organism_id":"..."}]。 -
@alpha123 是的,有时使用 HTML 转义是正确的,但并非总是如此;例如,如果“organism_id”可以包含 HTML 字符,如果该字符串纯粹是为了在 JavaScript 代码中工作而从不注入 HTML 中,那么替换它们可能是错误的。
-
@Pointy 正确,虽然看起来
organism_id是一个哈希或 GUID 或其他不包含 或 & 的东西,name可能会在某个时候被注入 HTML .我会说逃跑。
标签: javascript ruby-on-rails json