繁体   English   中英

Rails JSON非标准字符

[英]Rails JSON non-standard characters

我的数据库中有一个包含此样本子字符串的字符串。

string = "\357\277\275\357\277\275"

当我尝试将其转换为JSON时,会遇到很多这些坏男孩(因为它们是非ASCII字符)。

然后,当jQuery尝试解析JSON时,它只是弄乱了,并给了我SyntaxError: Unexpected Token

这是三种可能的解决方案。

  1. 将字符串转换为JSON可接受的值
  2. 删除令人反感的字符
  3. 用诸如“无效字符”之类的消息替换字符串

我对其中的任何一个都很好,但是不知道该怎么做。 有什么想法吗?

"\\357\\277\\275"是替换字符( )的ascii八进制表示形式。 这表示当您转换为JSON时,字符串中包含非ascii字符。 理想情况下,您希望确定非ASCII字符如何进入上游数据,但简单的解决方法是删除它们:

clean_string = "absr\357\277\275/xyz".gsub("\357\277\275","")
  #=> "absr/xyz"

为了从Ruby中的字符串中去除不可打印的字符,可以使用以下正则表达式。

"your_string".gsub!(/[^[:print:]]/, '')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM