2015-04-24 5 views
1

У меня есть строки, которые я пишу как JSON. Одна из строк содержит символ \u001a. Вызов JSON.parse('"\u001a"') результатов: JSON.parse: bad control character in string literal at line 1 column 2 of the JSON data. Что я должен делать с этим персонажем?Что делать с экранированными символами юникода при вызове JSON.parse?

Спасибо!

+3

'JSON.parse ('\\ u001a"') ' – dandavis

ответ

0

Возможно, использование \\ вместо \ может решить проблему.

Первый фрагмент предупреждает об исключении и анализирует результат как undefined bec. ошибки синтаксического анализа.

try { 
 
    var x = JSON.parse('"\u001a"'); 
 
} catch (e) { 
 
    alert('Catched exception: ' + e); 
 
} finally { 
 
    alert('Parsed value: ' + x); 
 
}

Второе предупреждение анализируется последовательность. Это означает, что синтаксический анализ является успешным.

var z = JSON.parse('"\\u001a"'); 
 
alert(z);

Смежные вопросы