ruby-on-rails - Rails escape_javascript通过转义单引号来创建无效的JSON

标签 ruby-on-rails json escaping

ActionView中的escape_javascript方法将撇号'转义为反斜杠撇号\',当解析为JSON时会出现错误。

例如,消息“我在这里”在打印为以下内容时是有效的JSON:

{"message": "I'm here"}


但是,<%= escape_javascript("I'm here") %>输出"I\'m here",导致无效的JSON:

{"message": "I\'m here"}


是否有补丁可以解决此问题,或者在打印到JSON时有替代方法可以转义字符串?

最佳答案

只需在字符串上调用.to_json,它将被正确地转义,例如

"foo'bar".to_json

关于ruby-on-rails - Rails escape_javascript通过转义单引号来创建无效的JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715994/

相关文章:

ruby-on-rails - 如何在本地生成签名的 Stripe rest webhook 请求?

javascript - 从sqlite db获取图像并使用JavaScript显示在页面上

ios - 如何使用 NSData 在我的 Golang 服务器上读取我从 iOS 发布的 JSON?

用于解析 JSON 并添加到数据库 mysql 的 PHP

php - 如何在PHP中转义仅 "'”?

cmake - 如何在自定义 CMake 命令中包含文字双引号?

string - VB 字符串中的转义双引号

ruby-on-rails - 在Rails 4中将当前时区中的Date转换为DateTime的最佳方法是什么?

ruby-on-rails - 用于分发离线 Ruby on Rails 应用程序的选项

json - 如何使用 CoffeeScript 将多个项目放入 JSON 对象中?