2015-06-03 3 views
0

В формате JSON некоторые экранированные символы интерпретируются как специальные символы (например, '\ t', '\ n'), но что касается других - например, '\ /'? Они игнорируются и управляются как небезопасные?Интерпретация экранированных символов в JSON

+0

'/' не является метасимволом текста javascript. это правило для экранирования, поскольку json в основном «просто javascript»: если символ NOT, который может быть экранирован, может привести к тому, что строка будет передана по-другому, например. char - метасимвол, тогда он должен быть экранирован. –

ответ

0

Если вы избежите символа, который не является частью специальной escape-последовательности, он просто возвращает символ после обратной косой черты.

Это объясняется в синтаксисе в разделе 7.8.4 из ECMA-262:

СиЗ CharacterEscapeSequence :: NonEscapeCharacter является СиЗ NonEscapeCharacter.

1

Это все в спецификации: http://json.org/

Все действующие управляющие последовательности явно перечислены в разделе «строка». Я не могу объяснить это лучше, чем график.

1

Просто попробуйте.

> string = '"\\/"' 
< ""\/"" 
> JSON.parse(string) 
< "/" 
Смежные вопросы