【问题标题】:Special Characters in JSON return value throwing errorsJSON 返回值中的特殊字符抛出错误
【发布时间】:2016-10-31 20:55:25
【问题描述】:

我有一些使用数据表的代码,其中一个返回的字段是一个字符串值,最近人们一直在从包含一些特殊字符的电子邮件中将值粘贴到这个字段中,例如 MS-Word 智能引号中的字符。当它尝试显示时出现错误。

如果我将文本复制/粘贴到记事本++ 中,我会看到一些奇怪的符号。一旦我删除它们,错误就会消失。

是否有一些方法可以通过 Javascript 中的函数调用从我的文本中删除所有特殊字符?

【问题讨论】:

  • JSON 可以保存 Unicode 字符,你不需要做任何特别的事情。你是如何编码 JSON 的?
  • 我只是从 REST 服务中获取值。该文本包含在 notepad++ 中显示为符号的字符。在我删除它们后,json 显示正常。我相信我有下面显示的答案,我去掉了除字母、数字和空格之外的所有内容。
  • 你是如何展示它们的?如果您遇到错误,那么问题就在那里;删除所有标点符号似乎是错误的解决方案。
  • 你试过JSON.stringify()吗?

标签: javascript json


【解决方案1】:

这个适合你吗:

myStr=myStr.replace(/[^\w\s]/gi, '')

您可以在此“白名单”中添加更多字符,例如:

myStr=myStr.replace(/[^\w\s,\/#!$%\^&\*;:]/gi, '');

【讨论】:

  • 足够接近了。我刚刚找到 [^a-zA-Z0-9 ]/g
  • 这也会删除普通的标点符号。
  • @Barmar true,您可以在此“白名单”中添加更多字符
  • 他似乎解决了错误的问题。他应该修复显示代码,以便它可以显示任何内容。
  • @Barmar 再次同意,但这正是他想要的。我们需要一些代码来解决显示问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-06
  • 2016-06-18
  • 2011-10-28
  • 2013-06-03
  • 2012-04-05
  • 2019-03-25
  • 1970-01-01
相关资源
最近更新 更多