Как избежать обратной косой черты в JSON?

Я использую собственный JSON.parse() для Firefox, чтобы анализировать некоторые строки JSON, которые включают регулярные выражения как значения, например:

var test = JSON.parse('{"regex":"/\\d+/"}');

"\ d" в приведенном выше примере создает исключение с JSON.parse(), но отлично работает, когда я использую eval (чего я пытаюсь избежать).

Я хочу сохранить '\' в регулярном выражении - есть ли какой-нибудь другой JSON-удобный способ избежать этого?

Ответы

Ответ 1

Вам нужно сбежать обратно с обратной косой чертой:) вот так:

var test = JSON.parse('{"regex":"/\\\\d+/"}');

Вы можете немного его протестировать здесь: http://jsfiddle.net/h3rzE/