我使用Firefox的原生JSON.parse()来解析一些包含正则表达式作为值的JSON字符串,例如:
var test = JSON.parse('{"regex":"/\\d+/"}');
上面的'\ d'引发了JSON.parse()的异常,但是当我使用eval(这是我试图避免的)时工作正常。
我想要的是保留正则表达式中的'\' - 是否有一些其他JSON友好的方法可以逃脱它?
答案 0 :(得分:15)
你需要逃避那里已经存在的逃避反斜杠:)这样:
var test = JSON.parse('{"regex":"/\\\\d+/"}');
你可以在这里测试一下:http://jsfiddle.net/h3rzE/