ruby-on-rails - 如何从 JSON 字符串的参数中删除非文本字符、换行符、制表符等

标签 ruby-on-rails json ruby

我有可能包含 \n\t 的 JSON 字符串,我不想将其保存到数据库中。 strip_tags 仅对简单字符串有帮助。我正在使用 gsub(/(\\n)|(\\t)/, "")

我想知道是否有另一种 Rails 辅助方法或更好的方法来实现这一点。

例如

"[{\"type\":\"checkbox-group\",\"label\":\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nFill in\\nthe Gap (Please\\nfill in the blank box with correct wor\",\"name\":\"checkbox-group-1527245153706\",\"values\":[{\"label\":\"Option 1\",\"value\":\"option-1\",\"selected\":true}]},{\"type\":\"text\",\"label\":\"\\n\\t\\t\\n\\t\\n\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tWhat are the unique features of\\ne-commerce, digital markets, and\\ndigital goods? \\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\",\"className\":\"form-control\",\"name\":\"text-1527245426509\",\"subtype\":\"text\"}]"

最佳答案

您可以使用 squishsquish!

"  Some text \n\n and a tab \t\t with new line \n\n  ".squish
#=> "Some text and a tab with new line"

Squish 删除两端的所有空白字符并将剩余的空白字符分组(\n\tspace) 一个空格

关于ruby-on-rails - 如何从 JSON 字符串的参数中删除非文本字符、换行符、制表符等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50576508/

相关文章:

ruby - 局部变量分配给哪个对象?

ruby - 如何仅使用thin部署sinatra应用程序?

ruby-on-rails - 如何在发生之前记录 Rails 查询?

jquery - 使用 JavaScript 提交 Rails 远程表单

Angular : ui bootstrap : accordion "close-others" does not works

javascript - 使用 React.js 更新 JSON 数组

javascript - 使用追加时如何正确定位 JSON 响应

ruby - 减少 RSpec 中 JSON 测试输入的重复

ruby-on-rails - Ruby,检查日期是否是周末?

ruby-on-rails - Ruby on Rails 2.1 子域-Cookie 问题