Если я запустил это в консоли JavaScript в Chrome или Firebug, все работает нормально.
JSON.parse('"\u0027"') // Escaped single-quote
Но если я запускаю одну из этих двух строк в консоли Javascript, возникает ошибка.
JSON.parse('"\u0022"') // Escaped double-quote
JSON.parse('"\u005C"') // Escaped backslash
Раздел 2.5 RFC 4627 , кажется, подразумевает, что \
и «
разрешены символы, если они ' повторно сбежали. Однако два браузера, в которых я пробовал это, похоже, не позволяют этого. Что-то я здесь делаю не так, или они действительно не разрешены в строках? Я также пробовал использовать \ "
и \\
вместо \ u0022
и \ u005C
соответственно.
Я чувствую как будто я просто делаю что-то очень неправильное, потому что мне трудно поверить, что JSON не позволяет использовать эти символы в строках, тем более что в спецификации не упоминается ничего, что я мог бы найти, говоря, что они не разрешены.