像
JSON.parse('{"text": "~#"}');
会给出语法错误,因为〜和#之间有0x0B。你看不到它,但确实存在。
如何避免?
答案 0 :(得分:1)
如果您无法获取服务器上编码的数据,那么一种方法是在尝试解码之前将其预处理为JSON。例如,您可以像这样应用RegExp:
var data = JSON.parse('{"text": "~#"}'.replace(/([^\d\w"':,{}~#]|\s)+/g, ' '));
显然,您希望在制作RegExp时非常密切关注spec。