如何在javascript中过滤控制字符

时间:2011-10-21 05:33:58

标签: javascript json parsing

JSON.parse('{"text": "~#"}');

会给出语法错误,因为〜和#之间有0x0B。你看不到它,但确实存在。

如何避免?

1 个答案:

答案 0 :(得分:1)

如果您无法获取服务器上编码的数据,那么一种方法是在尝试解码之前将其预处理为JSON。例如,您可以像这样应用RegExp:

var data = JSON.parse('{"text":   "~#"}'.replace(/([^\d\w"':,{}~#]|\s)+/g, ' '));

显然,您希望在制作RegExp时非常密切关注spec